Forum: PC-Programmierung Typengröße: Float


von Thomas (Gast)


Lesenswert?

Moin,

wollte mal horchen ob einer weiss wie groß ein Float-Wert ist.
Bei Wiki habe steht 8bit exponent und 24bit mantisse. aus anderer
wuelle habe ich einen wert von 80bit zugeflüstert bekommen ...
wer weiss genaues ??

Thomas

von ,,,, (Gast)


Lesenswert?


von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Beim avrgcc ist sizeof (float) == sizeof (double) == 4

von Rolf Magnus (Gast)


Lesenswert?

> Bei Wiki habe steht 8bit exponent und 24bit mantisse. aus anderer
> wuelle habe ich einen wert von 80bit zugeflüstert bekommen ...
> wer weiss genaues ??

24 Bit Mantisse und 8 Bit Exponent sind für float üblich und auch bei
avr-gcc so. double ist hat üblicherweise 64 Bits, geteilt in 53 Bit
Mantisse und 11 Bit Exponent, aber bei avr-gcc ist es wie erwähnt
aufgrund der limitierten Ressourcen auch nur 32 Bits breit. (was
übrigens eigentlich nicht ISO-konform ist).
Dann gibt's noch long double, welches sich je nach Compiler
unterscheidet. Das ist z.B. bei gcc auf x64-Prozessoren 80 Bits  breit
(64 Mantisse und 16 Exponent), wogegen es beim Microsoft-Compiler
gleich wie double ist und es gar keinen 80-Bit-Typ gibt. Manche
Prozessoren unterstützten auch ein 128-Bit-Format als long double.
Auf avr-gcc dürfte long double auch nur 32 Bits breit sein.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.