Ieee 754 Einfache und doppelte Genauigkeit?

1 Antwort

Vom Fragesteller als hilfreich ausgezeichnet

Die Mantissen sind gleich. Die 1 an der Stelle 21 (bei 32 Bit) ist die 1 an der Stelle 50 (64 Bit) (die zweithöchste Mantissenstelle)

Der Exponent beim 32-Bit-Beispiel ist 124, der Bias 127. Der effektive Exponent ist also -3.

Der Exponent bei 64 Bit ist 1020, der Bias 1023. Der effektive Exponent ist also auch -3.

JohnyAllen 
Fragesteller
 12.03.2024, 14:20

Dankeschön. Muss ich dann zuerst doppelte Genauigkeit berechnen oder wie rechne ich das komplett aus?

0
tunik123  12.03.2024, 14:34
@JohnyAllen

Mantisse, Vorzeichen und Exponent sind in beiden Darstellungen gleich. Das ist also egal.

-5/32 -> Das Vorzeichenbit ist 1.

5/32 -> Sooft mit 2 multiplizieren oder dividieren, bis der Wert zwischen (einschließlich) 1 und (ausschließlich) 2 liegt. Hier wird mit 8 multipliziert. Der Exponent ist also -3 (negativ, weil der wirkliche Wert unter dem kodierten liegt).

5/4 = 1,010000... (binär) -> Die 1 wird weggelassen und der Rest ist die Mantisse 010000.

Zum Exponenten wird der Bias (127 bzw. 1023) addiert, weil er nicht negativ sein soll. Das wird dann 0111110 bzw. 01111111100.

1
JohnyAllen 
Fragesteller
 12.03.2024, 21:43
@tunik123

Vielen Dank! Hab alles verstanden bis 5/4. Wie kommt man auf die 4? Und warum mal 8. multipliziert?

0
tunik123  12.03.2024, 22:26
@JohnyAllen

Andersrum erklärt:

Wir haben 5/32.

Durch Multiplikation mit oder Division durch 2 wollen wir zwischen 1 und 2, also zwischen 32/32 und 63/32 kommen.

Ausgehend von Exponent 0 ...

* 2, das ist 10/32, Exponent -1

* 2, das ist 20/32, Exponent -2

*2, das ist 40/32, Exponent -3

Das liegt zwischen 32/32 und 63/32.

Also ist der Exponent -3, und die 40/32 kann man zu 5/4 kürzen.

1
JohnyAllen 
Fragesteller
 13.03.2024, 10:03
@tunik123

Und wie sieht es aus mit z.B. 9 wie berechne ich das?

0
tunik123  13.03.2024, 13:20
@JohnyAllen

Ausgehend von Exponent 0 ...

/ 2, das ist 9/2 Exponent +1

/ 2, das ist 9/4, Exponent +2

/ 2, das ist 9/8, Exponent +3

Exponent ist +3 (1026 mit Bias)

Mantisse ist 1.001000... Die 1 vorn fällt weg, also 001000...

1
JohnyAllen 
Fragesteller
 13.03.2024, 16:47
@tunik123

Vielen Dank! Eine letzte Frage habe ich noch, woher weiss ich wann ich 1026 benutzen muss? Bei uns machen wir das mit so, dass wir die Ziffer nehmen um wie viel das Komma geschoben werden musste und mit Excess z.B. 15 addieren.

0
tunik123  13.03.2024, 16:48
@JohnyAllen

Zum Exponenten wird der Bias (1023 für 64-Bit-Zahlen) addiert.

1
JohnyAllen 
Fragesteller
 13.03.2024, 16:52
@tunik123

Also muss ich wie in dem Beispiel 5/4 = 1,010000 + (127 oder 1023 in Binär umwandeln und dazu addieren und dann am Ende die 1 weglassen falls das Vorzeichen negativ ist richtig?

0
tunik123  14.03.2024, 08:30
@JohnyAllen

Mit dem Vorzeichen hat das nichts zu tun. Die Gleitkommaformate haben ein eigenes Vorzeichenbit.

Dann haben sie einen Exponenten und eine Mantisse. Da die Mantisse immer mit 1, ... angfängt, speicher man die 1 nicht mit ab. ("hidden bit")

Zum Exponenten wird 127 bzw. 1023 (Bias) addiert, damit er nicht negativ wird.

Warum Du den Bias zur Mantisse addieren möchtest, verstehe ich nicht..

1