Fließkomma-Zahlenwerte

Fließkomma-Zahlenwerte ( "floats" , "doubles " oder "reelle Zahlen" ) können durch eine der folgenden Anweisungen zugewiesen werden :

 
$a

 
=

 
1.234

 
;

 
$a

 
=

 
1.2e3

 
;

 
$a

 
=

 
7E-10

 
;



Die Größe einer Fließkomma-Zahl ist plattformabhängig, dennoch stellt ein Maximum von ~1.8e308 mit einer Genauigkeit von 14 Nachkomma-Stellen einen üblichen Wert dar (das entspricht 64-Bit im IEEE-Format).

Fließkomma Präzision

Es ist ziemlich normal , dass einfache Dezimalzahlen wie 0.1 oder 0.7 nicht in ihre internen binären Entsprechungen konvertiert werden können , ohne einen kleinen Teil ihrer Genauigkeit zu verlieren . Das kann zu verwirrenden Ergebnissen führen . So wird floor( (0.1 + 0.7 ) * 10 ) normalerweise 7 statt des erwarteten Wertes 8 zurück geben (als Ergebnis der internen Entsprechung von 7.9999999999.. . .

Das gründet sich auf die Tatsache , dass es unmöglich ist , manche Dezimal-Zahlen durch eine endliche Anzahl an Nachkomma-Stellen darzustellen . Dem Wert 1 / 3 entspricht z.B . der interne Wert von 0.3333333 . . . .

Deshalb sollten Sie nie den Ergebnissen von Fließkomma-Operationen bis auf die letzte Nachkomma-Stelle trauen und nie solche auf Gleichheit prüfen . Benötigen Sie wirklich eine größere Genauigkeit , sollten sie die mathematischen Funktionen beliebiger Genauigkeit oder die Gmp Funktionen benutzen .