Im Binärformat sieht 250500 * 250500 = 62.570.250.000 wie folgt aus:
0011 1101 0010 1000 0100 * 0011 1101 0010 1000 0100 =
0110 1001 1100 0011 0100 1101 0100 0001 0000
Feste mathematische Regeln besagen, dass Sie die Ergebnisse einer 18-Bit-Zahl mal einer 18-Bit-Zahl in 36 Bit einpassen können. Feste Regeln des mathematischen Zustands, die Sie nicht unbedingt durch Komprimierung reduzieren können, daher müssen Sie einige Einschränkungen beachten.
Es kann jedoch einige Optionen geben.
Mit einem Computer können Sie Meter oder Kilometer verfolgen.
Wenn Sie das Konzept von 50 Kilometern nachverfolgt haben, ist dies tatsächlich das Gleiche wie das Nachhalten von 50.000 Metern.
Anstatt 250500 * 250500 = 62.570.250.000 (dh 250.500 Einzeleinheiten x 250.500 Einzeleinheiten) im Auge zu behalten, können Sie auch Deza-Einheiten nachverfolgen, z. B. 25050x25050 = 627.502.500 (250.500 Dekaunits x 250.500 Deza-Einheiten = 627.502.500 Quadrat-Dekaden) -Einheiten). Die Zahl 627.502.500 passt in ein 32-Bit-Wort.
Ein erfahrener Computerprogrammierer sollte überlegen, was der Arbeitsspeicher des Computers darstellt (z. B. wenn ein Speicher Informationen über Einheiten oder Dezaeinheiten speichert), und es sollte in Betracht gezogen werden, Anpassungen vorzunehmen, wenn es Vorteile gibt (z. B. Umgehen von Einschränkungen oder möglicherweise nur das Arbeiten mit) schnellere Geschwindigkeit).
Vielleicht möchten Sie, anstatt Deza-Einheiten zu verfolgen (Gruppen von 10 Einheiten), Gruppen von Einheiten mit einer anderen Größe verfolgen, z. B. Gruppen von 500 Einheiten. Das Konzept besagt, dass Sie, wenn Sie wissen, dass Ihre Zahlen immer gerade sein werden, Zahlen durch zwei und potenzielle mit kleineren Einheiten teilen können. (Obwohl Sie sich durch mehr als 2 teilen müssen, um den spezifischen Maximalwert von 4.294.967.295 zu unterschreiten.) Wenn Sie Hekto-Einheiten (je 100 Einheiten) verfolgen können, hätten Sie statt 250.500 * 250.500 2.505 * 2.505 = 6.275.025 (12 Bit mal 12 Bit, was 24 Bit erfordern kann, um ein Ergebnis zu speichern, erfordert jedoch für diesen speziellen Fall nur 23 Bit). Wenn Sie die Quinque Hekto-Einheiten (500) nachverfolgen können, haben Sie 501 * 501 = 251.001 (9 Bit mal 9 Bit, in 18 Bit gespeichert).
Ob Sie ein nützliches Muster finden können, ist ein Aspekt nützlicher Programmierung, der über die reine Kenntnis einer Programmiersprache hinausgeht. Wenn Sie dies tun, hängt dies oft davon ab, welches Konzept der realen Welt Sie verfolgen möchten, und die Realisierbarkeit (und Details der Implementierung) können zwischen den verschiedenen Szenarien der Praxis variieren.
Edit: Kleinere Korrektur. Außerdem wurde der Absatz um 500 Einheiten erweitert, um die tatsächlichen Zahlen als Demonstration anzuzeigen.