Addition von Gleitkommazahlen
-
Hallo zusammen,
ich bin grade dabei die Grundlagen der IT anhand eines Uni Skriptes zu studieren und verstehe die Addition von Gleitkommazahlen anhand eines Rechenwerks (nennt man das so) nicht.
Im Beispiel soll die Dezimalzahl 59,5 mit der Derzimalzahl 12,25 addiert werden.
Dazu müssen die Operanden erst umgerechnet und normiert werden.
59,5 entsprich: 111011,12. So wie ich es verstehe, darf nach der Normierung nur noch ein 1,xxx übrig bleiben.
Das würde 1,110111*25 entsprechen. Die Fraktion ist auf 7-Bit ausgelegt, also: 11011110. Die 1 vor dem Komma wird vernachlässigt, da als Standard für diese Rechenart angenommen?
Die Charakteristik ist als 4 Bit ausgelegt: Also c = e + Bias = 5 + 7 = 1210 = 11002.
Ist die Fraction gleich dem Bias oder woher kommt die 7?Wie die ersten zwei Zeilen im Beispiel (siehe URL) also entstehen ist mir mehr oder weniger klar. Der Rest leider überhaupt nicht.
http://i1.fastup.de/view.asp?file=Aufgabe_4.jpg
Wäre schön wenn mich jemand erleuchten könnte!
-
stagediver schrieb:
Hallo zusammen,
ich bin grade dabei die Grundlagen der IT anhand eines Uni Skriptes zu studieren und verstehe die Addition von Gleitkommazahlen anhand eines Rechenwerks (nennt man das so) nicht.
Im Beispiel soll die Dezimalzahl 59,5 mit der Derzimalzahl 12,25 addiert werden.
Dazu müssen die Operanden erst umgerechnet und normiert werden.
Ich glaube das sind die flaschen Begriffe, aber du bist der Experte der in den letzten Tagen die Fachwörter gehört haben sollte. Wichtig ist jedenfalls, dass die Exponenten gleich werden.
59,5 entsprich: 111011,12. So wie ich es verstehe, darf nach der Normierung nur noch ein 1,xxx übrig bleiben.
Das würde 1,110111*25 entsprechen. Die Fraktion ist auf 7-Bit ausgelegt, also: 11011110. Die 1 vor dem Komma wird vernachlässigt, da als Standard für diese Rechenart angenommen?
Die 1 vor dem Komma wird als Standard für diese Art der Fließkommazahlendarstellung angenommen. Nicht bloß für die Rechenart. Im Gegenteil: Wie du siehst fällt während der Rechnung diese Konvention sogar weg.
Die Charakteristik ist als 4 Bit ausgelegt: Also c = e + Bias = 5 + 7 = 1210 = 11002.
Ist die Fraction gleich dem Bias oder woher kommt die 7?Der Bias ist halt eine weitere Konvention, diesmal für den Exponenten. Der genaue Wert hängt von dem Fließkommastandard ab. Hier eben 7. Der Wert ist oftmals 2 hoch (Exponentenbits-1). So auch hier, da 4 Bits für den Exponent benutzt werden. Dies erlaubt es, Exponenten von -7 bis 8 darzustellen, wobei die Werte -7 und 8 oftmals eine besondere Bedeutung haben. Hätte man keinen Bias, könnte man nur Werte 0 bis 15 haben.
Wie die ersten zwei Zeilen im Beispiel (siehe URL) also entstehen ist mir mehr oder weniger klar. Der Rest leider überhaupt nicht.
http://i1.fastup.de/view.asp?file=Aufgabe_4.jpg
Wäre schön wenn mich jemand erleuchten könnte!
Ich habs mal kommentiert:
http://yfrog.com/6qaufgabe4pKlar(er) geworden?
-
Vielen Dank für deine Mühe... Ich kann Dir folgen, bis auf den Satz:
Dies erlaubt es, Exponenten von -7 bis 8 darzustellen, wobei die Werte -7 und 8 oftmals eine besondere Bedeutung haben. Hätte man keinen Bias, könnte man nur Werte 0 bis 15 haben.
Ich verstehe nicht so recht wie man mit 4 Bits die angesprochenen Zahlen darstellen kann.
Zum Beispiel, ich verstehe jetzt wie verschoben wird, aber nicht warum man das in zwei Schritten macht? Ich mein bei dem Beispiel passt es natürlich gut, aber was wenn sich die Exponenten um 20 Stellen unterscheiden, hätte das Beispiel dann 22 Zeilen gehabt?
-
stagediver schrieb:
Vielen Dank für deine Mühe... Ich kann Dir folgen, bis auf den Satz:
Dies erlaubt es, Exponenten von -7 bis 8 darzustellen, wobei die Werte -7 und 8 oftmals eine besondere Bedeutung haben. Hätte man keinen Bias, könnte man nur Werte 0 bis 15 haben.
Ich verstehe nicht so recht wie man mit 4 Bits die angesprochenen Zahlen darstellen kann.
ALso 4 Bits und 0 bis 15 sollte klar sein, denn 010=00002 und 1510=11112. Das ist aber ein bisschen ungünstig, wenn man nur Exponenten größer 0 haben kann. Deshalb führt man einen Bias ein und sagt, dass allgemein immer 7 abgezogen werden soll. Und daher kann man dann Werte zwischen -7=0-7 und 8=15-7 darstellen. In deinem Beispiel brauchst du zur Darstellung der 59,5 einen Exponenten von 5. Damit du eine 5 erhältst, muss 5+7=12 im Exponenten stehen, damit nach dem Abzug des Bias der Exponent richtig rauskommt.
Zum Beispiel, ich verstehe jetzt wie verschoben wird, aber nicht warum man das in zwei Schritten macht? Ich mein bei dem Beispiel passt es natürlich gut, aber was wenn sich die Exponenten um 20 Stellen unterscheiden, hätte das Beispiel dann 22 Zeilen gehabt?
Gute Frage, ob das technisch genau so abläuft. Hat man seine Fließkommaeinheit nur aus Schieberegistern und Addierern aufgebaut (was denkbar wäre), dann könnte das tatsächlich so ablaufen. Es ist natürlich ebenso denkbar, dass bei der tatsächlichen technischen Umsetzung cleverere Schaltungen benutzt werden - solche Details kenne ich nicht.
-
Okay, jetzt hab ichs verstanden... Vielen Dank SeppJ
-
Noch eins, bei zweiten Durchlesen ist mir aufgefallen, dass andieser Aussage etwas nicht stimmen kann :
Der Wert ist oftmals 2 hoch (Exponentenbits-1). So auch hier, da 4 Bits für den Exponent benutzt werden.
Der Bias wird also immer durch die Charakteristik vorgegeben? Dann müsste sich der Bias in diesem Fall durch 2[h]Charakteristikbits-1[/n]-1 ergeben oder?
-
stagediver schrieb:
Noch eins, bei zweiten Durchlesen ist mir aufgefallen, dass andieser Aussage etwas nicht stimmen kann :
Der Wert ist oftmals 2 hoch (Exponentenbits-1). So auch hier, da 4 Bits für den Exponent benutzt werden.
Der Bias wird also immer durch die Charakteristik vorgegeben? Dann müsste sich der Bias in diesem Fall durch 2Charakteristikbits-1-1 ergeben oder?
SeppJ hat "oft" geschrieben, wie kommst du auf "immer"? Aber ja, da fehlt eine -1.
-
Danke Christoph, hab das "immer" eher auf diesen Aufgabentyp bezogen, als auf die allegemeine Bestimmung des Bias.
Wie auch immer, ich hab die Thematik nun danke euch verstanden