Gleitkommaarithmetik
E höh d G i k it Erhöhen der Genauigkeit
Guard‐Bit, Round‐Bit und Sticky‐Bit
Bei der Darstellung der Addition und Multiplikation haben wir vereinfacht die beim Mantissen‐Alignment rechst heraus
geschobenen Bits einfach abgeschnitten Zum Beispiel:
geschobenen Bits einfach abgeschnitten. Zum Beispiel:
Mantissen‐Alignment um 5 Stellen
10111001000111011010110 Mantisse
In Wirklichkeit (z.B. IEEE 754 Spezifikation) wird zur Steigerung der Genauigkeit etwas geschickter vorgegangen. Obiges Beispiel:
Mantisse Mantisse
Rechenoperationen finden auf dieser erweiterten Mantisse statt.
Quiz
Wir betrachten 8‐Bit Mantissen. Es seien die folgenden beiden binären Zahlen zu addieren.
1 , 100 0110 · 2
6+ 1 , 011 1010 · 2
2Wie sehen Mantisse, Guard‐Bit, Round‐Bit und Sticky‐Bit nach dem Mantissen‐Alignment aus?
6 2
1 , 100 0110 · 2
61 , 011 1010 · 2
28‐Bit‐Mantisse 8‐Bit‐Mantisse
IEEE 754 Rounding‐Modes
+ / −
S E b i B i i l 21 7 B i i l 21 7
Mantisse M G R S
Synonym Ergebnis Beispiel 21,7 Beispiel ‐21,7 Round
toward
Ceil Kleinster Wert nicht
+∞ kleiner als M
Round
t d
Floor Größter Wert i ht öß toward
−∞
nicht größer als M
Round Truncate Genau M toward
0
R d W t d
Round to
nearest
Wert, der am nächsten zu M liegt
IEEE Rounding‐Modes: Round to Nearest
Mantisse G R S
Eingabe Form bei Tie Rundung Ergebnis M Mantisse|000 Same M = Mantisse
Mantisse|001 Down M = Mantisse
Mantisse|010| Down M = Mantisse
Mantisse|011 Down M = Mantisse
Mantisse|100 ...0|100 Down M = Mantisse Mantisse|100
(Tie)
...0|100 Down M Mantisse
...1|100 Up M = Mantisse + 1
Mantisse|101 Up M = Mantisse + 1
Mantisse|101 Up M = Mantisse + 1
Mantisse|110 Up M = Mantisse + 1
M ti |111 U M M ti 1
Mantisse|111 Up M = Mantisse + 1
Quiz
Was ist das Rundungsergebnis bei Round‐to‐Nearest für folgende Instanzen von „8‐Bit‐Mantisse | Guard‐Round‐Sticky“?
A.) 0000 1101 | 110
GRS Mantisse Richtung
001 Down
B.) 0011 0011 | 100 010 Down
011 Down
0 Down
C.) 0101 0101 | 010
100 ...0 Down
...1 Up
101 Up
C.) 0101 0101 | 010 p
110 Up
111 Up
Übersicht zu Round‐to‐Nearest
Beispiel für die Genauigkeitssteigerung
Wir betrachten 8‐Bit Mantissen. Zu addieren sei:
1,100 0110 · 26 (dezimal = 99,0000) + 1,011 1010 ·, 22 (dezimal = 5,8125)( , ) (Summe dezimal = 104,8125) Das Mantissen‐Alignment und GRS‐Bits kennen wir schon, also:
Rechnung: Mantisse|GRS Mantisse 11000110|000 11000110 + 00001011|101 + 00001011 + 00001011|101 + 00001011 --- --- 11010001|101 11010001 Rundung: 11010010 ohne 11010001
Ergebnis: 1,1010010 · 26 1,1010001 · 26
Dezimal : 105,0 104,5
Dezimal : 105,0 104,5
Also hat man mit GRS‐Bits und Rundung einen Abstand von 105,0 –
104,8125 = 0,1875. Ohne, , GRS‐Bits und Rundung ist der Abstand 104,8125 g , – 104,5 = 0,3125.
Denormalized‐Numbers
Kleinste mit IEEE754 Single‐Precision darstellbare normalized Zahl > 0:
1,000 0000 0000 0000 0000 0000 · 2−126
Der Exponent −127 ist für die 0 reserviert; die Fraction ist dabei 0:
.,000 0000 0000 0000 0000 0000 ·, 2−127
Warum die Fraction für Exponent −127 nicht sinnvoll nutzen?
Eine Denormalized‐Number der Form
000 1010 1110 1000 1111 0011 · 2−127 .,000 1010 1110 1000 1111 0011 · 2
bedeutet:
0,000 1010 1110 1000 1111 0011 · 2−126
Somit, kleinste mit IEEE754 Single‐Precision darstellbare Zahl > 0:
0 000 0000 0000 0000 0000 0001 2 126 1 0 2 149 0,000 0000 0000 0000 0000 0001 · 2−126 = 1,0 · 2−149
Quiz
Was ist mit denormalized Numbers bei IEEE 754 Double‐Precision die kleinste darstellbare Zahl > 0?
Erinnerung:
IEEE 754 Double‐Precision:
Fraction: 52 Bits
Exponent‐Bias: 1023
Webseiten‐Tipp zum Üben
users tima imag fr/cis/guyot/Cours/Oparithm/english/Flottan htm users‐tima.imag.fr/cis/guyot/Cours/Oparithm/english/Flottan.htm
Floating point numbers format Rounding to the nearest
Additi d bt ti Addition and subtraction
Zusammenfassung und Literatur
Zusammenfassung
• Rechnerarithmetik endlich und stimmt damit nicht exakt mit Arithmetik über reellen Zahlen überein
– Häufig Approximation realer Zahlen g pp – Assoziativgesetzt gilt z.B. nicht
– Hat Konsequenz auf paralleles rechnen Hat Konsequenz auf paralleles rechnen
• Beschränkter Zahlenbereich
O fl U d fl
– Overflow, Underflow
• Wichtigste Entwicklung über die Jahre
– Zweierkomplement und IEEE 754
– In jedem modernen Computer so j p
Quiz
Annahme es gäbe ein 16 Bit IEEE 754 Annahme es gäbe ein 16‐Bit IEEE 754 Floating‐Point‐Format mit 5 Bits für den
Exponenten. Welcher Zahlenbereich p wird durch dieses Format abgedeckt?
A: 1.0000 0000 00 · 20 B: +/‐ 1.0000 0000 0 · 2‐14 bis 1.1111 1111 11 · 231, 0 bis +/‐ 1.1111 1111 1 · 215
+/‐ 0, +/‐ ∞, NaN
C: +/‐ 1.0000 0000 00 · 2‐14 bis +/‐ 1.1111 1111 11 · 215, +/ 0 +/ N N
D: +/‐ 1.0000 0000 0 · 2‐15 bis +/‐ 1.1111 1111 1 · 214, +/ 0 +/ ∞ NaN
+/‐ 0, +/‐ ∞, NaN +/‐ 0, +/‐ ∞, NaN