Gleitkommazahlen

Neue Frage »

Auf diesen Beitrag antworten »
Ratte Gleitkommazahlen

Leider stehe ich am Schlauch, was die Aufgabe angeht. Den Binärcode in die dezimal- Gleitkommazahl umzuwandeln. Hab jetzt schon eine zeitlang gegoggelt und mir youtube videos angeschaut. Leider kann ich damit wenig anfangen. Kann jemand bitte helfen?

Aufgabe befindet sich im Anhang.
 
Auf diesen Beitrag antworten »
eulerscheZahl

Vorzeichenbit 0 -> positiv
biased Exponent = 133, Exponent = 133-127 = 6
Mantisse = (1,)10110001(bin) = 1 + 1/2 + 1/8 + 1/16 + 1/256 = 1.69140625
2^6 * 1.69140625 = 108.25
Auf diesen Beitrag antworten »
Ratte

Hallo eulersche Zahl! Wiedermal bedanke ich mich bei dir für die Antwort. Was ich jedoch zunächst nicht verstehe ist, woher die 127 kommt die du mit den Exponent subtrahierst?

Zweitena: woher kommdt bitte die 1 vor der nacfkommastelle der mantisse?

Drittens: wieso wird die Zahl am Ende mit 2^6 multipliziert?
Auf diesen Beitrag antworten »
eulerscheZahl

1. Die 127 ist fest, steht in der Spezifikation. Bei 64bit wird die 127 zu 1023.
2. Das ist das hidden Bit. Man wählt den Exponenten so, dass die Mantisse mit einer 1 beginnt. Also kann man die 1 auch weglassen und Platz sparen.
3. Die 6 ist der Exponent (133-127). Es wird mit 2^Exponent multipliziert.
 
Auf diesen Beitrag antworten »
Ratte

Danke eulersche zahl, anders als hinnehmen werde ich diese "sepzifikation" wohl nicht können.

Nachdem ich auch den faktor -3,625 in der Aufgabe ins binärsystem ueberfuhrt habe, wird im weiteren verlauf folgendes verlangt:

B) Geben Sie die einzelnen Schritte an, welche Ihrer Meinung nach für die Multiplikation zweier Gleitkommazahlen relevant sind.

Welche wären das bitte? Werden hier nicht einfach bloß zwei dezimalzahlen miteinander multipliziert? (Gleiche frage zur c.))



(c) Multiplizieren Sie die beiden Gleitkommazahlen. Verwenden Sie dabei die Schrittfolge, welche Sie im Aufgabenteil b) angegeben haben
Auf diesen Beitrag antworten »
eulerscheZahl

Aber wie läuft das Multiplizieren ab?
Das Vorzeichen ist einfach, das geht mit XOR.
Was passiert mit der Mantisse, was mit dem Exponenten?
Auf diesen Beitrag antworten »
Ratte

Ich habe mir diverse Videos angeschaut und schon länger gegooglet aber die verschiedenen Ansätze sorgen noch für mehr Verwirrung. verwirrt

- Mantisse werden miteinander multipliziert? aber inwiefern?, mitsamt den hidden bit(s)? und wird daraufhin das Ergebnis im sinne Dualzahlen addiert?

- Charakteristik werden beide addiert und anschließend mit den Bias Wert subtrahiert?

Ich weiß nicht wie das auszusehen hat, vor allem bin ich mir bei der Mantisse unsicher. Wärst du bitte so gütig und könntest mir es vorrechnen oder eine Beispielrechnung liefern? traurig

Darüber hinaus habe ich ja versucht den Faktor -3,625 in die Gleitkommazahl umzurechnen, könntest du bitte die Rechnung überprüfen? Ich zweifle an der Richtigkeit der Rechnung zumal ich den Beispielen im Internet gefolgt bin, die aber lediglich mit positiven Zahlen gerechnet haben.

Faktor -3,625

- Vorkommazahl umrechnen
3 : 2 = 1,5 R 1
1 : 2 = 0,5 R 1

11

- Nachkommazahl umrechnen
0,625 * 2 = 1,25 R 1
0,25 * 2 = 0,5 R 0
0,5 * 2 = 1 R 1
0 * 2 = 0 R 0

1010

- Mantisse
11,1010
1,11010 * 2^1

- Exponent
1 + 127 = 128 = 1000 0000

Vorzeichen = 1
Exponent = 1000 0000
Mantisse = 1101 0000 0000 0000 0000 000
Auf diesen Beitrag antworten »
eulerscheZahl

Die Umrechnung von -3.625 ist schonmal richtig.

Nehmen wir als Beispiel doch gleich die beiden Zahlen: 108.25 * (-3.625)
Wir haben die Zahlen in dieser Form: [latex]x_1 \cdot 2^n \cdot x_2 \cdot 2^m = x_1 \cdot x_2 \cdot 2^{m+n}[/latex].
Mantisse multiplizieren (mit hidden Bit), Exponent addieren (ohne bias).

0en am Ende der Mantisse habe ich nicht mitgeschrieben.
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
0|10000101|10110001 (108.25)
1|10000000|11010000 (-3.625)

Vorzeichen:
0 XOR 1 = 1 (negativ)

Exponent:
 10000101
+10000000
-01111111 (bias)
---------
 10000110

Mantisse:
 1.10110001 * 1.11010000
 1 11010000
   111010000  
     111010000
      111010000
          111010000
12 2222111  Übertrag (dezimal)
-------------------
11.0001000011010000

2 Bit vor dem Komma -> Exponent erhöhen
1|10000111|000100001101
Auf diesen Beitrag antworten »
Ratte

Die Erklärung ist wiedermal sehr anschaulich! verwirrt
Leider muss ich habe ich wieder Fragen dazu:

1. Könnte man was den Exponenten angeht es sich nicht einfacher machrn und die Exppnent in Dezimal addieren also( 2^6, 2^1), 6+1=7, am ende dann exponent erhoehen, 7+1 = 8, 8 + 127 = 135 = 1000 0111?

2. Exponent:
10000101
+10000000
-01111111 (bias)
---------
10000110

Hier habe ich nicht verstanden warum die zweite Spalte eine 1 ergibt? !üsste sie nicht 0 sein? Denn zuvor wurden doch in der ersten Spalte 1 mit eins addiert und somit muesste doch in der nächsten spalte eine eins im Sinn sein?

3. mantisse
Wieso wurde die vorkommastelle um zwei nach links verschoben statt um eins?

000100001101????
Auf diesen Beitrag antworten »
eulerscheZahl

1.) Ja, kannst du machen.
2.) ich habe zuerst 10000000-01111111 gerechnet. Das ist 00000001.
Also 10000101 um 1 erhöhen, was nicht besonders schwer ist.
3.) Weil ich einen Fehler gemacht habe. Mantisse = 1000100001101
Auf diesen Beitrag antworten »
Ratte

Deine Beiträge helfen mir wirklich immer von neuem den Sachverhalt zu verstehen! Vielen vielen dank! Schön das es auch hier äußerst hilfsbereite User wie dich hier gibt! Ohne dich wüsste ich nicht was ich machen würde.unglücklich (

Ich hoffe ich nerve dich nicht wenn ich mir noch ein- bis zwei weitere Fragen erlaube.
Wir hatten auch was die Mantisse angeht die sogenannte "Normalisierung für vor- und nachkommastellen (unge)packt bzw. Gepackt. "

Leider habe ich denn Sinn\Prinzip dahinter nicht verstanden. Ich hoffe du kannst wieder Licht ins dunkeln bringen.smile

Oben in der Aufgabe wurde die Kommastelle ja nach links verschoben vor den hidden bit. Wird das Ausnahmslos so gemacht?
Auf diesen Beitrag antworten »
eulerscheZahl

Die Mantisse wird immer so geschoben, dass genau eine binäre 1 vor dem Komma steht. Der Exponent ergibt sich daraus.

Es gibt eine Ausnahme: denormalisierte Zahlen, um Werte nahe der 0 darstellen zu können. Aber schaue erst mal, dass du die normale Nutzung verstehst.
 
Neue Frage »
Antworten »


Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »