Überlauf während der Multiplikation von zwei großen ganzen Zahlen abfangen und berechnen

Ich suche eine effiziente (optional standardmäßige, elegante und einfach zu implementierende) Lösung, um relativ große Zahlen zu multiplizieren und das Ergebnis in einer oder mehreren ganzen Zahlen zu speichern:

Angenommen, ich habe zwei 64-Bit-Ganzzahlen, die folgendermaßen deklariert sind:

uint64_t a = xxx, b = yyy; 

Wenn ich es tuea * b, wie kann ich feststellen, ob der Vorgang zu einem Überlauf führt und in diesem Fall den Carry irgendwo aufbewahren?

Bitte beachte, dassIch möchte keine große Bibliothek verwenden da ich Einschränkungen in der Art und Weise habe, speichere ich die Nummern.

Antworten auf die Frage(9)

Ihre Antwort auf die Frage