suchen
Heim类库下载PHP类库Integer-Integer-Typ

Integer-Integer-Typ

Oct 20, 2016 pm 03:02 PM
integer

Ganzzahlige Ganzzahl


Eine ganze Zahl ist eine Menge = {..., -2, -1, 0, 1, 2, ...} in A Nummer.


Siehe:

Ganzzahl mit beliebiger Länge/GMP

Gleitkommatyp

Mathebibliothek mit beliebiger Präzision/BCMath

Syntax


Ganzzahlwerte können dezimal, hexadezimal, oktal oder binär ausgedrückt werden und können durch ein optionales Symbol vorangestellt werden (- oder).


Binäre Darstellung von Ganzzahlen verfügbar seit PHP 5.4.0.


Um den Oktalausdruck zu verwenden, muss 0 (Null) vor der Zahl hinzugefügt werden. Um einen hexadezimalen Ausdruck zu verwenden, muss der Zahl 0x vorangestellt werden. Um die binäre Darstellung zu verwenden, muss 0b vor der Zahl hinzugefügt werden.


Beispiel #1 Ganzzahliger Literalausdruck

<?php
$a = 1234; // 十进制数
$a = -123; // 负数
$a = 0123; // 八进制数 (等于十进制 83)
$a = 0x1A; // 十六进制数 (等于十进制 26)
?>


Die formale Beschreibung der Ganzzahl lautet:

dezimal: [1-9][0-9]*
| 0

hexadezimal: 0[xX][0-9a- fA -F]

oktal: 0[0-7]

binär: 0b[01]

Ganzzahl: [ -]?dezimal
|. hexadezimal
|. [ -]?oktal
| Der Maximalwert beträgt ungefähr zwei Milliarden (32-Bit mit Vorzeichen). Der Maximalwert auf einer 64-Bit-Plattform liegt normalerweise bei etwa 9E18. PHP unterstützt keine vorzeichenlosen Ganzzahlen. Die Wortlänge des Integer-Wertes kann durch die Konstante PHP_INT_SIZE dargestellt werden. Seit PHP 4.4.0 und PHP 5.0.5 kann der Maximalwert durch die Konstante PHP_INT_MAX dargestellt werden.


Wenn eine illegale Zahl an eine Oktalzahl (z. B. 8 oder 9) übergeben wird, werden die restlichen Ziffern ignoriert.

Integer-Integer-Typ

Beispiel #2 Seltsame Dinge über Oktalzahlen


<?php
var_dump(01090); // 八进制 010 = 十进制 8
?>

Ganzzahlüberlauf


Wenn eine bestimmte Zahl den Bereich einer Ganzzahl überschreitet, wird sie als Gleitkommazahl interpretiert. Wenn das Ergebnis der Operation den Bereich einer Ganzzahl überschreitet, wird ebenfalls Float zurückgegeben.


Beispiel #3 Ganzzahlüberlauf unter 32-Bit-System


<?php
$large_number = 2147483647;
var_dump($large_number);                     // int(2147483647)
 
$large_number = 2147483648;
var_dump($large_number);                     // float(2147483648)
 
$million = 1000000;
$large_number =  50000 * $million;
var_dump($large_number);                     // float(50000000000)
?>  
Example #4 64 位系统下的整数溢出
<?php
$large_number = 9223372036854775807;
var_dump($large_number);                     // int(9223372036854775807)
 
$large_number = 9223372036854775808;
var_dump($large_number);                     // float(9.2233720368548E+18)
 
$million = 1000000;
$large_number =  50000000000000 * $million;
var_dump($large_number);                     // float(5.0E+19)
?>

In PHP gibt es keinen ganzzahligen Divisionsoperator. 1/2 ergibt einen Float von 0,5. Der Wert kann in eine ganze Zahl umgewandelt werden, wobei der Bruchteil verworfen wird, oder zur besseren Rundung kann die Funktion „round()“ verwendet werden.


<?php
var_dump(25/7);         // float(3.5714285714286) 
var_dump((int) (25/7)); // int(3)
var_dump(round(25/7));  // float(4) 
?>

Konvertierung in Ganzzahltyp


erforderlich Um einen Wert explizit in eine Ganzzahl umzuwandeln, verwenden Sie die Umwandlung (int) oder (integer). In den meisten Fällen ist eine Umwandlung jedoch nicht erforderlich, da der Wert automatisch konvertiert wird, wenn ein Operator, eine Funktion oder eine Flusssteuerung einen ganzzahligen Parameter erfordert. Sie können auch die Funktion intval() verwenden, um einen Wert in eine Ganzzahl umzuwandeln.

Siehe: Diskriminierung der Typkonvertierung.


Konvertierung vom Booleschen Wert


FALSE ergibt 0 (null), TRUE ergibt 1 (eins).


Konvertierung von Gleitkomma


Bei der Konvertierung von Gleitkomma in Ganzzahl wird abgerundet.


Wenn die Gleitkommazahl den Ganzzahlbereich überschreitet (normalerweise /- 2.15e 9 = 2^31 auf 32-Bit-Plattformen, /- 9.22e 18 auf 64-Bit Plattformen) = 2^63), das Ergebnis ist undefiniert, da die Genauigkeit nicht ausreicht, um ein exaktes ganzzahliges Ergebnis zu liefern. In diesem Fall gibt es keine Warnung, nicht einmal eine Benachrichtigung!


Wechseln Sie niemals einen unbekannten Bruch in eine ganze Zahl um, da dies manchmal zu unvorhersehbaren Ergebnissen führen kann.

Integer-Integer-Typ

<?php
echo (int) ( (0.1+0.7) * 10 ); // 显示 7!
?>

Siehe Warnung zur Gleitkommagenauigkeit.


Aus Zeichenfolge konvertieren


Siehe Zeichenfolge in numerischen Wert konvertieren.


Von anderen Typen konvertieren


Vorsicht 


Konvertierungsverhalten von anderen Typen in Ganzzahlen ist nicht definiert. Verlassen Sie sich nicht auf bestehende Verhaltensweisen, da diese sich ohne Vorankündigung ändern können.


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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
4 Wochen vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
4 Wochen vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
4 Wochen vorBy尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

Sicherer Prüfungsbrowser

Sicherer Prüfungsbrowser

Safe Exam Browser ist eine sichere Browserumgebung für die sichere Teilnahme an Online-Prüfungen. Diese Software verwandelt jeden Computer in einen sicheren Arbeitsplatz. Es kontrolliert den Zugriff auf alle Dienstprogramme und verhindert, dass Schüler nicht autorisierte Ressourcen nutzen.

SublimeText3 Linux neue Version

SublimeText3 Linux neue Version

SublimeText3 Linux neueste Version

MantisBT

MantisBT

Mantis ist ein einfach zu implementierendes webbasiertes Tool zur Fehlerverfolgung, das die Fehlerverfolgung von Produkten unterstützen soll. Es erfordert PHP, MySQL und einen Webserver. Schauen Sie sich unsere Demo- und Hosting-Services an.

WebStorm-Mac-Version

WebStorm-Mac-Version

Nützliche JavaScript-Entwicklungstools