Version: Test
©Raddy 2001

Logik der Programmierung II        zurück

Deklaration
von Variablen
für Gleitkomma
zahlen
a-absatz.pcx (280 Byte)
Deklarieren von Float-Variablen
Auf den letzten Seiten haben wir gezeigt, wie der Computer
ganze Zahlen im Speicher speichert. Natürlich muß ein 
Computer auch Dezimalzahlen speichern können.
   
Wir wollen nun z.B. einen Abstand zweier Gegenstände in der 
Variablen "Abstand" speichern, also z.B. die Zahl 0.004321 Meter.

Um 4 Zeilen für die dezimale Variable Abstand zu reservieren 
(deklarieren), benutzt man den Befehl:
   
                   float abstand 
   
Bevor der Computer eine Dezimalzahl speichert, wandelt
er sie erstmal in eine Gleitpunktzahl um: 
   
                       0.004321 = 4.321*10-3  
   
Durch den Befehl float abstand haben wir 4 Byte für diese Variable
reserviert. In 3 der Bytes schreibt er die Mantisse, also die
Ziffern 4321. In das übrige Byte schreibt er den Exponenten,
also in diesem Fall die Zahl -3.
log2sap1.pcx (8207 Byte)
Das Speichern der Mantisse und des Exponenten geschieht 
allerdings in codierter Form (IEEE 754-1985). Daher ergibt
sich auch der merkwürdige Wertebereich:

In einer Float-Variablen (nach IEEE 754-1985 codiert) können
Werte zwischen -3.4E+38 und +3.4E+38 gespeichert werden. 
Die betragsmäßtig kleinsten Zahlen, die gespeichert werden 
können, sind die Zahlen -1.2E-38 bzw. +1.2E-38. Dabei wird 
eine Genauigkeit von 6 Stellen erreicht. Man sagt auch, man 
hat 6 signifikante Stellen.

Beim Speichern von Float-Variablen unterscheiden sich C++ und
Java nicht, da sich beide an die o.g. Norm IEEE 754-1985 halten.
a-absatz.pcx (280 Byte)
Deklarieren von double Variablen, ...
Durch die Typbezeichner double kann man den Wertebereich
und die Genauigkeit nochmals vergrößern (C++ und in Java).
Auch hier arbeiten C++ und Java nach der Norm IEEE 754-1985.

Nur in C++ und nicht in Java gibt es noch den Gleitkomma-Datentyp 
"long double", der nicht in der IEEE-Norm definiert ist. Er umfaßt
10Byte bei 19 Stellen Genauigkeit.