Der Inhalt, der in diesem Artikel mit Ihnen geteilt wird, handelt von den Operationen langer Ganzzahlen in PHP. Er hat einen gewissen Referenzwert.
In PHP gibt es nur zwei Arten von Zahlen: int und float. Ihre Anzahl der Ziffern hängt vom System ab, und es gibt kein uint, was bei der Kommunikation mit anderen Systemen große Unannehmlichkeiten mit sich bringt. Wenn int überläuft, wird es automatisch in Float umgewandelt, ausgedrückt in wissenschaftlicher Notation, und nach dem Dezimalpunkt werden nur 15 Ziffern beibehalten. Die nachfolgenden Daten werden gerundet, was sich auf die nachfolgenden Datenoperationen auswirkt, wie zum Beispiel Es treten Fehler bei der Basiskonvertierung, Operationen usw. auf..
Für PHP:
int : min~max: -9223372036854775808 ~ 9223372036854775807 (~92 Milliarden)
Float: min~max: -1,7976931348623E+308 ~ 1,7976931348623E+308 (~1,8E308)
Zu diesem Zeitpunkt müssen wir die Verwendung von Zeichenfolgen für die entsprechende Verarbeitung in Betracht ziehen. Wenn wir mathematische Berechnungen durchführen müssen, müssen wir BC-Mathematikfunktionen (beliebige Präzisionsmathematik) verwenden es selbst im PHP-Handbuch: http://php.net/manual/zh/function.bcmod.php
Hier ist ein einfaches Beispiel für die Konvertierung einer langen Ganzzahl in eine Binärzahl und die Konvertierung von 2 ^ 128 in eine Binärzahl: Da die Basiskonvertierungsfunktion von PHP auch eine maximale Wertbeschränkung hat, wird hier eine kurze Division zur Konvertierung in eine Binärzahl verwendet. Verwenden Sie zum Potenzieren die ursprüngliche Funktion pow
Das Ausgabeergebnis ist wie folgt. Offensichtlich ist die Genauigkeit nicht ausreichend und die Binärdatei ist falsch
Richtige Darstellung:
Ausgabeergebnisse:
Verwandte Empfehlungen:
Verwandte PDO-Daten in PHP Access-Abstraktionsschichtoperationen
Das obige ist der detaillierte Inhalt vonLange Ganzzahloperationen in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!