2 Darstellung von Zahlen und Zeichen

Werbung
2.1 Analoge und digitale Darstellung von Werten
79
2 Darstellung von Zahlen und Zeichen
Computer- bzw. Prozessorsysteme führen Transformationen durch, die Eingaben X auf
Ausgaben Y abbilden, d.h. Y = f (X ). Beispiele:
• Berechnungen: Y aus X berechnen; z.B. X = zwei Vektoren, Y = Skalarprodukt
• Dokument drucken: X = Dokument; Y = Befehle/Daten, die den Drucker dazu
bringen, ein Dokument zu drucken
• Rastern von Grafiken: X = Repräsentation eines Objekts; Y = Farbintensitätswerte von Pixeln
Die Art und Weise, wie diese Transformationen durchgeführt werden, ist durch die
Programme festgelegt, die vom Prozessor ausgeführt werden:
Eingabe X
Programm
Ausgabe Y
Prozessor
X und Y sind Datenstrukturen (Skalare, Vektoren, Matrizen oder sonstige Zusammenfassungen), d.h. Ansammlungen von Daten. Als Datentypen werden ‘‘Zahlen’’ oder
‘‘Zeichen’’ verwendet.
2.1 Analoge und digitale Darstellung von Werten
Digitale Darstellung ) Verwendung von Binärzahlen
80
2 Darstellung von Zahlen und Zeichen
2.2 Festkommazahlen
Festkommazahlen sind Zahlen, bei denen das Komma an einer zuvor festgelegten/vereinbarten Stelle steht.
Vorzeichenlose Festkommazahlen
Vorzeichenlose Festkommazahlen haben kein Vorzeichen, d.h. sie sind stets positiv. Der
Wert v (v = value) einer vorzeichenlosen Festkommazahl ergibt sich zu:
v = (an
1
· bn
1
+ · · · + a1 · b 1 + a0 · b 0 ) · b i
• n ist die Stellenzahl, d.h. die maximale Menge an Ziffern, mit denen die Zahl
dargestellt werden kann.
• b ist die Basis des Zahlensystems, z.B. 10 für das Dezimalsystem (Ziffern 0 ... 9)
oder 2 für Binärzahlen. Ziffern an der Stelle j haben die Wertigkeit b j .
• Die Koffizienten aj sind die Ziffern an den Stellen j. Die Ziffern liegen jeweils
im Bereich 0...(b 1) und geben an, wie oft die Wertigkeit der jeweiligen Stelle
zum Wert der Zahl beiträgt.
• Der Wert von i legt die Position des Kommas fest:
• i = 0: Dieser Fall ist der Normalfall: Durch Multiplikation mit b i = b 0 = 1
bleibt v = an 1 · b n 1 + · · · + a1 · b 1 + a0 · b 0 . Das Komma steht hinter
der Einer-Stelle und wird weggelassen. Es werden ganze Zahlen mit
den Werten 0, 1, ... , b n 1 dargestellt.
• i > 0: Durch Multiplikation mit b i können größere Zahlen dargestellt
werden, jedoch auf Kosten geringerer Genauigkeit. Die Ziffern der Zahl
werden um i Stellen nach links geschoben, die frei werdenden Positionen werden mit Nullen aufgefüllt. Das Komma wird weggelassen.
Darstellungsbeispiel einer Festkommazahl für n = 8 und i = 3:
xxxxxxxx000. Die Zeichen ‘‘x’’ stehen dabei jeweils für eine der Ziffern
an 1 ... a0 .
• i < 0: Da i < 0, entspricht die Multiplikation mit b i einer Division durch
b |i| , d.h. das (nach der Einer-Stelle implizit stehende) Komma wird
um i Stellen nach links geschoben. Die Genauigkeit erhöht sich auf
Kosten der größtmöglich darstellbaren Zahl. Darstellungsbeispiel für
n = 8 und i = 3: xxxxx,xxx.
Im folgenden werden nur noch Dezimalzahlen (b = 10) und Binärzahlen (b = 2) betrachtet.
2.2 Festkommazahlen
81
Nachfolgender Zahlenring zeigt die Zuordnung von Binär- zu Dezimalzahlen für diese
Kodierung:
1111
0000
1110
0001
15
1101
0
14
1
13
1100
1011
0010
2
12
3
11
4
10
0100
Richtung
steigender
Werte
5
9
1010
0011
6
8
0101
7
1001
0110
1000
0111
Die Darstellung zeigt:
• Bei Binärwerten tritt ein Überlauf auf, wenn sich der Wert des höherwertigsten
Bitn, auch ‘‘MSB’’ (most significant bit) genannt, ändert
• Die Richtung steigender Werte ist bei beiden Kodierungen gleich; Beispiel:
• 210 + 110 = 310
• 00102 + 00012 = 00112
82
2 Darstellung von Zahlen und Zeichen
Aufgaben
Die folgenden Aufgaben betrachten Binärzahlen, d.h. b = 2.
a)
Welches ist die kleinste darstellbare vorzeichenlose Festkommazahl?
0
b) Wieviele unterschiedliche vorzeichenlose Festkommazahlen können mit n Bit dargestellt werden?
2n
c)
Geben Sie für i = 0 den Wert der größten vorzeichenlosen Festkommazahl in
Abhängigkeit von n an.
2n
1
d) Geben Sie für n = 8 und i = 2 den Wert der größten vorzeichenlosen Festkommazahl an.
(2n 1) · 2i = 2n+i 2i = 28+2
(Binär: 1111 1111 00)
e)
4 = 1020
Betrachten Sie den Zahlenring. Wie kann man einen Überlauf von vorzeichenlosen
Zahlen feststellen?
Das Carry-Out-Bit, d.h. das Bit an der Stelle MSB + 1 ist gesetzt.
f)
Sind alle Abstände vorzeichenloser Binärzahlen zum nächst kleineren und nächst
größeren Nachbarn gleich weit entfernt? Skizzieren Sie für i = 2 und n = 3 die
entsprechenden Werte auf dem Zahlenstrahl.
Ja, die Abstände sind äquidistant.
0
0,25
0,5
0,75
1,0
1,25
1,5
1,75
2.2 Festkommazahlen
83
g) Wandeln Sie für n = 8 und i = 0 folgende Dezimalzahlen in vorzeichenlose
Binärzahlen um.
Dezimal
h)
Binär vorzeichenlos
0
0000 0000
75
0100 1011
127
0111 1111
128
1000 0000
255
1111 1111
256
-
Berechnen Sie 24 + 17 = 3 im Binärsystem, n = 8.
24 = 16 + 8 ) 0001 10002
17 = 16 + 1 ) 0001 00012
0001 1000
+ 0001 0001
0010 1001
i)
Berechnen Sie 37 + 53 in vorzeicher Binärkodierung, n = 8.
37 = 32 + 4 + 1 ) 0010 01012
53 = 32 + 16 + 4 + 1 ) 0011 01012
+
0010 0101
0011 0101
0101 1010
84
T
j)
2 Darstellung von Zahlen und Zeichen
Berechnen Sie 17 + 23 in vorzeichenloser Binärkodierung, n = 8.
17 = 1 + 1 ) 0001 0001
23 = 16 + 7 ) 0001 0111
+
0001 0001
0001 0111
0010 1000
k)
Wandeln Sie für n = 6 und i = 3 folgende Dezimalzahlen in vorzeichenlose
Binärzahlen um.
Dezimal
T
l)
Binär vorzeichenlos
0
000 000
0,125
000 001
1,75
001 110
3,375
011 011
5
101 000
Geben Sie für n = 6 und i = 3 den Wert der größten vorzeichenlosen Festkommazahl an.
(2n 1) · 2i = 2n+i 2i = 26+3
Binär: 1 1111 1000
8 = 504
2.2 Festkommazahlen
T
85
m) Wandeln Sie für n = 8 und i = 0 folgende Dezimalzahlen in vorzeichenlose
Binärzahlen um.
Dezimal
T
n)
Binär vorzeichenlos
0
0000 0000
5
0000 0101
67
0100 0011
126
0111 1110
253
1111 1101
Wandeln Sie für n = 6 und i = 3 folgende Dezimalzahlen in vorzeichenlose
Binärzahlen um.
Dezimal
Binär vorzeichenlos
0
00000 000
0,375
00000 011
7,25
00111 010
10
01010 000
12,5
01100 100
17,625
10001 101
86
2 Darstellung von Zahlen und Zeichen
Vorzeichenbehaftete Festkommazahlen
Es gibt verschiedene Möglichkeiten, binäre vorzeichenbehaftete Festkommazahlen darzustellen:
• Vorzeichen und Betrag
• Einer-Komplement
• Zweier-Komplement
Vorzeichen und Betrag
Bei dieser Darstellung werden Vorzeichen und Betrag der Zahl separat abgespeichert:
• Das Vorzeichen wird repräsentiert durch das höherwertigste Bit: Hat das Bit
den Wert 0, ist die Zahl positiv, hat das Bit den Wert 1, ist die Zahl negativ.
• Der Betrag der Zahl wird durch die restlichen Bits dargestellt.
Ob eine Zahl positiv oder negativ ist, kann direkt am MSB abgelesen werden. Zur
Negation einer Zahl muss nur das höherwertigste Bit geändert werden.
Ein Problem bei dieser Darstellung ist die doppelte Null:
• 00 ... 0002 ) +0
• 10 ... 0002 )
0
Nachfolgende Abbildung zeigt für n = 4 die Zuodnung von Binär- zu Dezimalzahlen.
• Für positive Zahlen ist die Richtung steigender Werte für Binär- und Dezimalzahlen die selbe.
• Für negative Zahlen ist die Richtung jedoch unterschiedlich; Beispiel:
• 10102 + 00012 = 10112 : Bewegung im Uhrzeigersinn
•
210 + 110 =
110 : Bewegung gegen den Uhrzeigersinn
2.2 Festkommazahlen
87
1111
0000
1110
0001
-7
1101
0
-6
1
-5
1100
2
-4
3
negativ
1011
0010
positiv
-3
4
-2
1010
0011
0100
5
-1
-0
7
6
1001
0101
0110
1000
0111
Aufgaben
a)
Welche Auswirkungen hat es, dass für negative Zahlen die Richtung steigender
Werte nicht übereinstimmt?
Da beide Bewegungsrichtungen nicht übereinstimmen, können Zahlen in der
Kodierung ‘‘Vorzeichen und Betrag’’ nicht in der gleichen Weise addiert werden,
wie im Dezimalsystem.
b) Ist der Wertebereich symmetrisch? Begründung!
Ja, da sowohl für positive als auch für negative Zahlen der Betrag mit denselben
Bits codiert wird, muss der Wertebereich symmetrisch sein.
88
c)
2 Darstellung von Zahlen und Zeichen
Geben Sie den Wertebereich für i = 0 in Abhängigkeit von n an.
2n
1
1···
0, +0, ... 2n
1
1
d) Kodieren Sie für n = 8 und i = 0 die folgenden Zahlen binär in der Darstellung
‘‘Vorzeichen und Betrag’’.
Dezimal
e)
-10
1000 1010
0
0000 0000
20
0001 0000
Kodieren Sie für n = 6 und i =
‘‘Vorzeichen und Betrag’’.
Dezimal
T
f)
Binär Vorzeichen/Betrag
2 die folgenden Zahlen in der Darstellung
Binär Vorzeichen/Betrag
-2,25
1010 01
0
0000 00
5,5
0101 10
Kodieren Sie für n = 8 und i = 0 die folgenden Zahlen binär in der Darstellung
‘‘Vorzeichen und Betrag’’.
Dezimal
Binär Vorzeichen/Betrag
-17
1001 0001
-5
1000 0101
17
0001 0001
2.2 Festkommazahlen
T
89
g) Kodieren Sie für n = 6 und i =
‘‘Vorzeichen und Betrag’’.
Dezimal
2 die folgenden Zahlen in der Darstellung
Binär Vorzeichen/Betrag
-3,75
1011 11
-0,5
1000 10
7,25
0111 01
90
2 Darstellung von Zahlen und Zeichen
Einer-Komplement
Bei dieser Darstellung werden zur Negierung einer Zahl alle Bits invertiert. Um eine
eindeutige Unterscheidung zwischen positiven und negativen Zahlen zu gewährleisten,
ist der Betrag der Zahlen auf 2n 1 1 beschränkt. Dadurch kann das Vorzeichen der
Zahl wieder direkt am MSB abgelesen werden (0 ) positiv; 1 ) negativ).
Der Vorteil dieser Darstellung im Vergleich der Darstellung ‘‘Vorzeichen und Betrag’’
liegt darin, dass die Kodierung der negativen Zahlen in derselben Richtung erfolgt wie
die Kodierung der positiven Zahlen, so dass positive und negative Zahlen auf die gleiche
Art und Weise addiert (bzw. subtrahiert) werden können.
1111
0000
1110
0001
-0
1101
0
-1
1
-2
1100
2
-3
3
negativ
1011
0010
positiv
-4
4
-5
1010
0011
0100
5
-6
-7
7
1001
6
0101
0110
1000
0111
2.2 Festkommazahlen
91
Aufgaben
a)
Geben Sie den Wertebereich der Einer-Komplement-Darstellung für i =
Abhängigkeit von n an.
2n+i
1
1···
0, +0, ... 2n+i
1
2 in
1
b) Ist der Wertebereich asymmetrisch?
Nein. Der Wertebereich ist symmetrisch.
c)
Kodieren Sie für n = 8 und i = 0 die folgenden Zahlen binär im Einer-Komplement.
Dezimal
Binär Vorzeichen/Betrag
-10
1000 1010
0
0000 0000
20
0001 0100
d) Kodieren Sie für n = 6 und i =
Dezimal
2 die folgenden Zahlen im Einer-Komplement.
Binär Vorzeichen/Betrag
-2,25
1010 01
0
0000 00
5,5
0101 10
T
92
2 Darstellung von Zahlen und Zeichen
e)
Kodieren Sie für n = 8 und i = 0 die folgenden Zahlen binär im Einer-Komplement.
Dezimal
T
f)
Binär Einer-Kompl.
-17
1110 1110
-5
1111 1010
17
0001 0001
Kodieren Sie für n = 6 und i =
2 die folgenden Zahlen binär im Einer-Komplement.
Dezimal
Binär Einer-Kompl.
-3,75
1100 00
-0,5
1111 01
7,25
0111 01
g) Zeigen Sie an einem Beispiel, wie sich bei dieser Kodierung zur Addition von Binärzahlen derselbe Algorithmus verwendet lässt wie zur Addition von Dezimalzahlen
– sowohl bei positiven als auch bei negativen Werten.
• Positive Bereich: 210 + 310 = 510 , 00102 + 00112 = 01012
• Negativer Bereich:
h)
610 + 210 =
410 , 10012 + 00102 = 10112
Wann gibt es bei Verwendung der Einer-Komplement-Kodierung Probleme bei der
Addition?
Die doppelte Null macht Probleme:
210 + 310 = 110 6, 11012 + 00112 = 00002
2.2 Festkommazahlen
i)
93
Wie könnte man das Problem lösen?
Andere Kodierung wählen, so dass die doppelte Null verschwindet:
• 11112 ,
110
• 11102 ,
210
• ...
• 10002 ,
810
) Nach dem invertieren noch 00 ... 012 addieren. Das ist dann das sog. ZweierKomplement.
94
2 Darstellung von Zahlen und Zeichen
Zweier-Komplement
Beim Zweier-Komplement wird zunächst das Einer-Komplement gebildet und dann
noch binär der Wert 1 addiert. Auf diese Weise wird die doppelte Null vermieden. Der
Wertebereich wird asymmetrisch, was jedoch kein Problem darstellt. Berechnungen
können in dieser Kodierung mit demselben Algorithmus durchgeführt werden wie im
Dezimalsystem. Aus diesem Grund werden vorzeichenbehaftete Festkomma-Zahlen in
der Regel im Zweier-Komplement kodiert.
1111
0000
1110
0001
-1
1101
0
-2
1
-3
1100
2
-4
3
negativ
1011
-5
4
1010
0011
positiv
-6
0100
5
-7
-8
6
7
1001
0101
0110
1000
a)
0010
0111
Kodieren Sie für n = 8 und i = 0 die folgenden Zahlen binär im Zweier-Komplement.
Dezimal
Binär Vorzeichen/Betrag
-10
1000 1011
0
0000 0000
20
0001 0100
2.2 Festkommazahlen
95
b) Kodieren Sie für n = 6 und i =
Dezimal
T
c)
2 die folgenden Zahlen im Zweier-Komplement.
Binär Vorzeichen/Betrag
-2,25
1010 10
0
0000 00
5,5
0101 10
Kodieren Sie für n = 8 und i = 0 die folgenden Zahlen binär im Zweier-Komplement.
Dezimal
T
Binär Einer-Kompl.
-17
1110 1111
-5
1111 1011
17
0001 0001
d) Kodieren Sie für n = 6 und i =
Komplement.
Dezimal
2 die folgenden Zahlen binär im Zweier-
Binär Einer-Kompl.
-3,75
1100 01
-0,5
1111 10
7,25
0111 01
96
e)
2 Darstellung von Zahlen und Zeichen
Wie lässt sich ein Überlauf von vorzeichenbehafteten Zahlen feststellen?
Bei vorzeichenbehafteten Zahlen tritt ein Überlauf auf, wenn man
• zwei positive Zahlen addiert und eine negative Zahl als Ergebnis erhält,
oder wenn man
• zwei negative Zahlen addiert und eine positive Zahl als Ergebnis bekommt.
f)
Berechnen Sie 37 - 53 im Zweier-Komplement.
37 = 32 + 4 + 1 ) 0010 0101
53 = 32 + 16 + 4 + 1 ) 0011 0101
53ones’ comp. = 1100 1010
53twos’ comp. = 1100 1011
+
0010 0101
1100 1011
1111 0000
Wert:
Einer Komplement: 0000 1111
Zweier Komplement: 0001 0000
) 16
2.2 Festkommazahlen
T
g) Berechnen Sie 17 - 23 im Zweier-Komplement.
17 = 1 + 1 ) 0001 0001
23 = 16 + 7 ) 0001 0111
231er = 1110 1000
232er = 1110 1001
+
0001 0001
1110 1001
1111 1010
Wert:
Einer Komplement: 0000 0101
Zweier Komplement: 0000 0110
) 6
97
98
2 Darstellung von Zahlen und Zeichen
2.3 Gleitkommazahlen nach IEEE 754
Durch die fest definierte Kommastelle sind bei Festkommazahlen die Abstände zwischen
den einzelnen Zahlenwerten äquidistant. Aus diesem Grund (und aufgrund der endlichen
Anzahl an Stellen n) können mit Festkommazahlen nicht gleichzeitig sehr große Zahlen
und sehr kleine Zahlen darstellen.
Bei Gleitkommazahlen ist diese Einschränkung aufgehoben. Die Abstände zwischen den
einzelnen Zahlenwerten sind um den Wert 0 herum sehr klein. Für große Zahlen werden
die Abstände sehr groß, wie in nachstehender Grafik skizziert.
0
Erreicht wird diese Eigenschaft dadurch, dass die Position des Kommas nicht festgelegt
ist, sondern in der Zahl durch Angabe eines Exponenten e definiert. Dieser Exponent
legt fest, um wieviel die Kommastelle nach links oder rechts verschoben werden soll.
Gleitkommazahlen werden wie folgt kodiert:
s
e
f
Bei 32 Bit breiten Gleitkommazahlen (einfache Genauigkeit) gilt die Aufteilung
• s = 1 Bit
• e = 8 Bit
• f = 23 Bit,
bei 64 Bit breiten Gleitkommazahlen (doppelte Genauigkeit) gilt die Aufteilung
• s = 1 Bit
• e = 11 Bit
• f = 52 Bit.
Als Wert ergibt sich für
• für normalisierte Gleitkommazahlen (Normalfall) zu v = ( 1)s · 1,f · 2e
K,
• für de-normalisierte Gleitkommazahlen (Spezialfall) zu v = ( 1)s · 0,f · 21
K.
2.3 Gleitkommazahlen nach IEEE 754
99
Die Konstante K hat
• bei einfacher Genauigkeit (32 Bit) den Wert K = 127,
• bei doppelter Genauigkeit (64 Bit) den Wert K = 1023.
Eine Gleitkommazahl gilt als normalisiert, wenn beim Exponenten e weder alle Bits
gesetzt noch alle Bits gelöscht sind, d.h.
• 0 < e < 255 bei 32 Bit
• 0 < e < 2047 bei 64 Bit.
Eine denormalisierte Gleitkommazahl liegt vor, wenn e = 0 und gleichzeitig f > 0.
Spezialfälle:
• 0:
• e=0
• f =0
• ±1:
• s: +1 ) 0;
1)1
• e: alle Bits gesetzt ) 255 bei 32 Bit, 2047 bei 64 Bit
• f: alle Bits 0
• NaN (Not a Number)
• e: alle Bits gesetzt ) 255 bei 32 Bit, 2047 bei 64 Bit
• f: > 0
100
Diese Seite ist absichtlich leer.
2 Darstellung von Zahlen und Zeichen
2.3 Gleitkommazahlen nach IEEE 754
Diese Seite ist absichtlich leer.
101
102
2 Darstellung von Zahlen und Zeichen
Aufgaben
Format von Gleitkommazahlen
a)
Geben Sie das Format von 32 Bit und 64 Bit Gleitkommazahlen an.
• 32 Bit: 1 Bit Vorzeichen, 8 Bit Exponent, 23 Bit Bruchteil/Fraction
• 64 Bit: 1 Bit Vorzeichen, 11 Bit Exponent, 52 Bit Bruchteil/Fraction
b) Wie berechnet sich der Wert einer 32 bzw. 64 Bit breiten normalisierten Gleitkommazahl aus ihrem Bitmuster? Geben Sie den Wert der Konstanten K an!
v = ( 1)s · 2e
K
· 1.f
• 32 Bit: s = sign = Vorzeichen; e = Exponent (8 bit); K = 127; f = fraction =
Bruchteil (23 bit)
• 64 Bit: s = sign = Vorzeichen; e = Exponent (11 bit); K = 1023; f = fraction
= Bruchteil (52 bit)
c)
In welchem Bereich liegt e bei normalisierter Zahldarstellung?
• 32 Bit: 0 < e < 255
• 64 Bit: 0 < e < 2047
d) Wie wird die Zahl 0.0 dargestellt in Bezug auf s, e and f?
s = 0; e = 0; f = 0
2.3 Gleitkommazahlen nach IEEE 754
e)
103
Was ist eine denormalisierte Gleitkommazahl, wie wird sie kodiert und wie berechnet sich ihr Wert?
Bei normalisierten Gleitkommazahlen wird eine ‘‘1,’’ direkt vor den Bruchteil f
hinzugefügt. Bei denormalisierten Gleitkommazahlen ist es eine ‘‘0,’’.
Kodierung: e = 0; f > 0;
Wert: v = ( 1)s · 21 K · 0.f
f)
Welchen Nutzen haben denormalisierte Gleitkommazahlen?
Mit denormalisierten Gleitkommazahlen können – um den Wert 0 herum – betragsmäßig viel kleinere Zahlen dargestellt werden als bei normalisierten Gleitkommazahlen.
g) Wie kodiert man die Gleitkommazahl ‘‘unendlich’’?
• 32 Bit: e = 255; f = 0
• 64 Bit: e = 2047; f = 0
• Das Bit s gibt jeweils das Vorzeichen an (+1 oder
h)
1).
Mit welchen Werten von e und f wird ausgesagt, dass es sich um ‘‘keine Zahl’’
(NaN = not a number) handelt?
• 32 Bit: e = 255; f > 0
• 64 Bit: e = 255; f > 0
i)
Geben Sie ein Beispiel an, wie es zu einem Ergebnis kommen kann, das ‘‘keine
Zahl’’ ist.
Wurzel einer negativen Zahl. (Auch möglich: Division 0/0)
104
2 Darstellung von Zahlen und Zeichen
Rechnen mit Gleitkommazahlen
a)
Kodieren Sie 3,625 und 13,5 als 32 Bit breite Gleitkommazahlen und tragen Sie
das Bitmuster in die angegebene Tabelle ein.
3.625:
11.101 = 1.1101 · 21
s=0
e K =1
e = K + 1 = 127 + 1 = 128
f = 11010...0
13.5:
1101.1 = 1.1011 · 23
s=0
e K =3
e = K + 3 = 127 + 3 = 130
f = 10110...0
3,625:
0
1
0
0
0
0
0
0
0
1
1
0
1
0
0
0
0
…
0
13,5:
0
1
0
0
0
0
0
1
0
1
0
1
1
0
0
0
0
…
0
2.3 Gleitkommazahlen nach IEEE 754
105
b) Berechnen Sie 3,625 + 13,5 im Binärsystem bei Verwendung einer 32 Bit Gleitkommakodierung.
Exponent 3.625: 10000000
Exponent 13.5: 10000010
Exponent von 3.625 dem von 13.5 anpassen (Exponenten müssen gleich sein,
bevor die Mantissen addiert werden können).
13.5:
Exponent
Bruchteil/Mantisse
1000 0010
1011000...0
3.625:
Exponent
Bruchteil/Mantisse
1000 0000
1000 0001
1000 0010
1101000...0
11101000...0 (führende 1,)
011101000...0
Mantissen addieren:
+
1.101100000...0
0.011101000...0
10.001001000...0
Normalisieren:
Mantisse normalisieren: 10.001001000...0 ! 1.0001001000...0
Exponent normalisieren: 1000 0010 ! 1000 0011
Bitmuster des Ergebnisses:
0
1
0
0
0
0
0
1
1
0
0
0
1
0
0
1
0
…
0
106
c)
2 Darstellung von Zahlen und Zeichen
Bestimmen Sie aus dem Ergebnis-Bitmuster das Ergebnis der Addition 3,625 +
13,5
( 1)0 · 1,0001001 · 2131
T
127
= 10001,001 · 20 = 17,12510
d) Kodieren Sie 1,75 und 5,125 als 64 Bit breite Gleitkommazahlen und tragen Sie
das Bitmuster in die angegebene Tabelle ein.
1,75:
1.11 = 1.11 · 20
s=0
e K =0
e = K = 1023
f = 110...0
5,125:
101.001 = 1.01001 · 22
s=0
e K =2
e = K + 2 = 1023 + 2 = 1025
f = 010010...0
1,75
0
0
1
1
1
1
1
1 1 1
1 1
1 1 0 0
5,125
0
1
0
0
0
0
0
0 0 0
0 1
0 1 0 0 1
0 0 0 0 …
0 0 0
0
… 0
2.3 Gleitkommazahlen nach IEEE 754
T
e)
107
Berechnen Sie 1,75 + 5,125 im Binärsystem bei Verwendung einer 64 Bit Gleitkommakodierung.
Exponent 1,75: 01111111111
Exponent 5,125: 10000000001
Exponent von 5,125 dem von 1,75 anpassen (Exponenten müssen gleich sein,
bevor die Mantissen addiert werden können).
1,75:
Exponent
Bruchteil/Mantisse
01111111111
1,110...0
5,125:
Exponent
Bruchteil/Mantisse
10000000001
10000000000
01111111111
1,010010....0
10,10010....0
101,0010....0
Mantissen addieren:
+
001,110
101,001
110,111
Renormalisieren:
Mantisse: 110,111 ! 1,10111
Exponent: 01111111111 ! 10000000001
Bitmuster des Ergebnisses:
0
1
0
0
0
0
0
0
0 0
0 1
1 0 1 1 1
0 0 0
… 0
108
T
f)
2 Darstellung von Zahlen und Zeichen
Bestimmen Sie aus dem Ergebnis-Bitmuster das Ergebnis der Addition 1,75 +
5,125
( 1)0 · 1,10111 · 21025
1023
= 110,111 = 6,87510
Herunterladen