C-Programmierung

Fließkomma Datentypen

Ganzzahlige Datentypen | | Zahlen

Folgende elementare Fließkomma-Datentypen (Floating-Point) werden unterstützt, die einen Nachkommaanteil erlauben, also z.B. die Darstellung des Werts 0.5:

Fließkommazahlen bestehen aus einer Mantisse m mit dem Wertebereich 0–1 und einem Multiplikator dem Exponenten e:

$\displaystyle{ x = m\cdot 2^e }$

Übersicht aller Fließkomma-Datentypen:

TypBitMantisseExponentByteNachkommsstellen
float3223847–8
double645211815–16
long double8064151020

Der positive Wertebereich von IEEE Fließkomma-Zahlen mit $n$ Exponent-Bits erstreckt sich von $1\cdot 2^{2^{n-1}-2}$ bis $2\cdot 2^{2^{n-1}-1}$.

TypMinMax
float$1.2\cdot 10^{-38}$$3.4\cdot 10^{38}$
double$2.2\cdot 10^{-308}$$1.8\cdot 10^{308}$
long double$3.4\cdot 10^{-4932}$$1.1\cdot 10^{4932}$

Fließkommazahlen haben immer auch einen ebenso großen negativen Wertebereich, sind also immer vorzeichenbehaftet.

Beispiel:

float mit 32 Bit, d.h. ca. $\pm10^{38}$

float x=0.5;

Im Gegensatz zu Ganzzahlen erfolgt die Darstellung von Fließkommawerten mit einer gewissen Ungenauigkeit, die z.B. bei float ca. $10^{-7}$ und bei double ca. $10^{-15}$ beträgt

Z.B. wird die exakte Zahl 0.1 durch die float Fließkommazahl 0.10000000149012 angenähert.

Der erweiterte Darstellungsbereich von Fließkommazahlen wird also durch eine angenäherte Darstellung erkauft.

Fallgrube: In C wird der Dezimalpunkt verwendet, kein Komma!

float x=0,5; /* caution! */


Ganzzahlige Datentypen | | Zahlen

Options: