Frage

Ich habe eine 128-Bit-Zahl als 2 64-Bit-Zahlen gespeichert ( "Hallo" und "Lo"). Ich brauche es nur durch eine 32-Bit-Zahl zu teilen. Wie könnte ich es tun, die native 64-Bit-Operationen von der CPU mit?

(Bitte beachten Sie, dass ich nicht mit beliebiger Genauigkeit Bibliothek brauche. Muss nur wissen, wie man diese einfache Aufteilung machen mit nativen Operationen. Danke).

War es hilfreich?

Lösung

Wenn Sie den Wert (128-Bit) Speicher mit einer möglichst großen nativen Darstellung Ihrer Architektur verarbeiten kann (64-Bit) Sie Probleme Umgang mit den Zwischenergebnissen der Division haben (wie Sie bereits gefunden :)).

Aber man kann immer eine kleinere Darstellung verwenden. Was etwa vier Zahlen von 32-Bit? Auf diese Weise konnte man die native 64-Bit-Operationen ohne Überlaufprobleme verwenden.

Eine einfache Implementierung (in Delphi) gefunden werden hier .

Andere Tipps

Einige c code hier .

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top