Forum: Mikrocontroller und Digitale Elektronik Grenzbereich von float / double errechnen


von Lars (Gast)


Lesenswert?

Hi,

woher kommen eigentlich die Grenzbereiche von den Datentypen float und 
double?
1
float        32        1.5E-45   .. 3.4E38          7- 8 Stellen
2
double       64        5.0E-324  .. 1.7E308        15-16 Stellen

Wie berechnet man diese? Ich suche eine ähnliche Berechnung, wie sie bei 
den Integern gibt. Hier wird der Grenzbereich von int32 beispielsweise 
mit 2^32 errechnet und je nach signed oder unsigned dann noch durch zwei 
geteilt. Das Betriebssystem interessiert mich an dieser Stelle noch 
nicht.

Gruß
Lars

von Test (Gast)


Lesenswert?

IEEE 754

von Blah (Gast)


Lesenswert?


von Helmut S. (helmuts)


Lesenswert?

> Wie berechnet man diese? Ich suche eine ähnliche Berechnung, wie sie bei
den Integern gibt.

Beispiel für float: 32bit

23bit Mantisse + nicht gespeicherter 1 = 24bit Mantisse

2^24 = 16777216

Deshalb die Angabe 7..8 Stellen Genauigkeit. Eigentlich entspricht das 
eher 7 Dezimalstellen als 8.

von Mike (Gast)


Lesenswert?

Lars schrieb:
> Wie berechnet man diese?

... und die möglichen Zehnerpotenzen ergeben sich aus der Anzahl der 
Bits, die für den Exponenten (Binär) zur Verfügung stehen.

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.