Heim  >  Artikel  >  Backend-Entwicklung  >  Lange Ganzzahloperationen in PHP

Lange Ganzzahloperationen in PHP

不言
不言Original
2018-04-13 10:55:551412Durchsuche

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn