zurück   Home   weiter

Ist das folgende ein ganzzahliges Literal? 197.0

Antwort:

Nein — es hat einen Dezimalpunkt.

Gleitpunkttypen

Wenn wir das Literal 197.0 in einem Programm verwenden, teilt der Dezimalpunkt dem Compiler mit den Wert unter Verwendung eines primitiven Gleitpunkttyps darzustellen.

Das Bitmuster, das für die Gleitpunktzahl 197.0 verwendet wird, unterscheidet sich wesentlich von dem Bitmuster, das für die Ganzzahl 197 verwendet wird. Betrachten wir die zwei primitiven Gleitpunkttypen:

Der Datentyp float wird manchmal als Gleitpunkttyp mit "einfacher Genauigkeit" bezeichnet. Dieses Vokabular stammt aus der Sprache FORTRAN, die zu ihrer Zeit die beherrschende Programmiersprache war.

Der Datentyp double hat doppelt so viele Bits und wird manchmal als Gleitpunkttyp mit "doppelter Genauigkeit" bezeichnet.

In Programmen haben Gleitpunktliterale einen Dezimalpunkt und kein Komma:

123.0     -123.5     -198234.234     0.00000381

Hinweis: Literale wie die oben stehenden werden automatisch vom Typ double sein.

Wenn wir es mit Gleitpunktzahlen zu tun haben, sollten wir fast immer Variablen vom Typ double verwenden. Dann wird der Datentyp von Literalen, wie den oben stehenden, mit dem Datentyp Ihrer Variablen übereinstimmen.

Der Datentyp float sollte nur bei besonderen Umständen verwendet werden (z.B. wenn wir eine Datei verarbeiten, die ausschließlich 32-Bit float-Daten enthält).

Primitive Gleitpunkttypen
TypGrößeWertebereich
float32 Bit±1.4E-45 bis ±3.4E+38
double64 Bit±4.9E-324 bis ±1.7E+308

Frage 8:

(Denkfrage: ) Glaubt Ihr, dass die Verwendung von float anstelle von double zu einer wesentlichen Einsparung an Computerspeicher führt?