Konvertierung und Rückkonvertierung von Zahlen

Werbung
Binärarithmetik 1
Stellenwertorientierte Zahlensysteme, ganze Zahlen
Mit einer Basiszahl b: b > = 2 und Ziffern {0, Z1...., Zb-1} mit
0 < Z1 < Z2 < Zb-1 < b
kann jede Zahl X für die 0 < = X < b n+1 gilt.
mit passenden Ziffern Xn .... X0 in der Form
Xn * bn + xn-1 + bn-1 + ... + ;X1 * b1 + X0 * b0
/b0 = 1
eindeutig mit passenden Xi in {0, Z1, ..., Zb-1} dargestellt werden.
Beispiele:
 Das Binärsystem mit der Basiszahl 2 und den Ziffern {0,1}
 Das Dezimalsystem mit der Basiszahl 10 und den Ziffern
{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}.
 Das Oktalsystem mit der Basiszahl 8 und den Ziffern {0, 1, 2, 3, 4, 5,
6, 7}.
 Das Sedezimalsystem (Hexadezimalsystem) mit der Basiszahl 16 und
den Ziffern
{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F}.
Binärsystem
1111011
11111000110
1010101010101010
Oktalsystem
173
3712
125252
Dezimalsystem
123
1994
43690
i  
Zahl  
i 
Binär-Arithmetik
Sedezimalsystem
7B
7CA
AAAA
i
Zi * b
Seite 1
Binärarithmetik 2
Konvertierung und Rückkonvertierung von Zahlen
Der Dezimalzahl 4711 entspricht die Dualzahl 1001001100111
(mögliches) Rechenschema:
4711
2355
1177
588
294
147
73
36
18
9
4
2
1
dividiert durch 2 ist
dividiert durch 2 ist
dividiert durch 2 ist
dividiert durch 2 ist
dividiert durch 2 ist
dividiert durch 2 ist
dividiert durch 2 ist
dividiert durch 2 ist
dividiert durch 2 ist
dividiert durch 2 ist
dividiert durch 2 ist
dividiert durch 2 ist
dividiert durch 2 ist
2355
1177
588
294
147
73
36
18
9
4
2
1
0
Rest
Rest
Rest
Rest
Rest
Rest
Rest
Rest
Rest
Rest
Rest
Rest
Rest
1
1
1
0
0
1
1
0
0
1
0
0
1
Konvertierung 0,810
Rechenschema:
0.8 multipliziert mit 2 = 0.6 + 1
0.6 multipliziert mit 2 = 0.2 + 1
0.2 multipliziert mit 2 = 0.4 + 0
0.4 multipliziert mit 2 = 0.8 + 0
0.8 multipliziert mit 2 = 0.6 + 1
...................usw.
0.810 = 0.110011001100...
Bemerkung: 0.8 im Dezimalsystem ist im Bimärsystem nur mit unendlich
langem gebrochenen Anteil darzustellen.
Binär-Arithmetik
Seite 2
Binärarithmetik 3
Rechenregeln für Dualzahlen
Operation
Ergebnis
Übertrag, Borgbit auf die
Nächsthöhere Stelle
0+0
0+1
1+0
1+1
0
1
1
0
0
0
0
+1 „Übertragsbit“
0–0
0–1
1–0
1–1
0
1
1
0
„Borgbit“
0*0
0*1
1*0
1*1
0
0
0
1
0
0
0
0
Binär-Arithmetik
Seite 3
Binärarithmetik 4
Binär-Arithmetik
Seite 4
Binärarithmetik 5, Rechnen mit 2-Komplementzahlen
Beispiel:
0010
+
0101
--------------0111
(+2)
(+5)
0010
+
0110
---------------1000
(+2)
(+6)
1011
+
0100
---------------1111
(-5)
(+4)
1011
+
0101
----------------0000
(-5)
(+5)
1011
+
0110
----------------0001
(-5)
(+6)
1011
+
1101
----------------1000
(-5)
(-3)
1011
+
1100
----------------0111
(-5)
(-4)
(+7) (ok)
(-8) (Übertrag ins Vorzeichenbit, falsch)
(-1) (ok)
(0)
(Überlauf, jedoch ok)
(+1) (Überlauf, jedoch ok)
(-8)
(Überlauf, jedoch ok)
(+7) (Überlauf, falsch)
Beachte Überträge in das 3. und 4. Bit
Sind die Überträge gleich
ok
Sind die Überträge ungleich
falsch
Binär-Arithmetik
Seite 5
Binärarithmetik 6, Gleitkommazahlen
Gleitkommazahlen dienen der Darstellung des Datentyps REAL Sie sind auf
einen großen Wertebereichs angelegt. Ihre Darstellungsgenauigkeit ist von
Ihrer Ausdehnung (Zahl der Bits) abhängig.
Gleitkommazahlen werden durch eine Mantisse und einen Exponenten
dargestellt. Das Gleitkommazahlenlayout ist durch IEEE (Institut of
Electrical and Electronics Engeneers) standardisiert worden.
Standardisierungsfestlegungen:
Gleitkommazahlen (floating point numbers) haben den Aufbau
Zfp = (-1)s(1.f)2e-bias
Es werden zwei Standardformate angegeben
Einfach Genauigkeit (single precision) 4 Byte = 32 Bit
31
23 22
0
8-Bit Biased
S
23-Bit-Fraction f
Exponent e
Doppelte Genauigkeit (double precision) 8 Byte = 64 Bit
63
52 51
0
11-Bit Biased
S
52-Bit-Fraction f
Exponent e
S Vorzeichenbit S = 0: Zahl ist positiv; S = 1: Zahl ist negativ
Die Mantisse 1.f wird als binär codierte Zahl in normalisierter Form
angegeben.
Binär-Arithmetik
Seite 6
Binärarithmetik 7
Die Normalisierung
Die Dezimalzahl wird zunächst in eine Binärzahl konvertiert. Danach wird
die Normierung ausgeführt.
Das bedeutet, dass der Dezimalpunkt so verschoben wird, bis eine führende
1 (bei Zahlen ungleich 0) entsteht. Bei dieser Verschiebung wird natürlich
der Exponent vermindert oder erhöht, um den Zahlenwert zu erhalten. Da
immer eine 1 vor dem Dezimalpunkt steht (bei Zahlen ungleich 0) wird sie
nicht mitgespeichert, (hidden bit).
Für die Gleitkommadarstellung wird als Mantisse der gebrochene Anteil
ohne das hidden bit verwendet.
Der zunächst vorzeichenbehaftete Exponent E wird als biased exponent e
dargestellt.
e = bias + E
oder E = e – bias
bias =
127
bei einfacher Genauigkeit
bias =
1023
bei doppelter Genauigkeit
Durch diesen Trick wird e eine vorzeichenlose Zahl!
Binär-Arithmetik
Seite 7
Binärarithmetik 8
Additionen von Gleitkommazahlen
Die Gleitkommazahlen
x = mx2ex und y=my2ey
 Die Zahl mit dem kleineren Exponenten wird denormalisiert,
indem sie um den Betrag der Differenz der Exponenten nach
rechts verschoben wird.
 Damit haben beide Zahlen den gleichen Exponenten und die
Mantissen können als Festkommazahlen addiert werden.
 Feststellungen der Zahl der führenden Nullen
(Number of Leading Zeros, NLZ)
 Normalisierung des Ergebnis, da die Summe größer als 1
oder kleiner als 0,5 werden kann.
Größer als 1 kann die Summe werden, wenn die Exponenten
beider Summanden gleich waren.
Rechtsverschiebung um NLZ
Binär-Arithmetik
Seite 8
Binär-Arithmetik
Seite 9
Binärarithmetik 10
Beispiel:
Dez.
Binär:
7,0 + 0,75
0.111*23 + 0.11 * 20
Entnormalisieren der kleineren Zahl
0.11 *
20
0.111
+
0.000 11
----------------0.111 11 *
0.00011
*
23
23
Keine abschließende Normalisierung erforderlich
Beispiel:
Dez.
Binär:
0.75 + 0,375
0.11 * 20 +0.11 * 2-1
0.11 *
2-1
0.11
+
0.011
------------1.001 * 2
0.011 * 20
0.1001 * 21 (Normalisierung)
Die Subtraktion kann auf eine Addition des Komplements zu 1.0
zurückgeführt werden.
Binär-Arithmetik
Seite 10
Binärarithmetik 11
Eine Methode zur Ermittlung interner
Darstellungen von Variablen
Binär-Arithmetik
Seite 11
Binärarithmetik 11
Binär-Arithmetik
Seite 12
Binärarithmetik 13
Binär-Arithmetik
Seite 13
Binärarithmetik 14
Binär-Arithmetik
Seite 14
Binär-Arithmetik
Seite 15
Hausaufgaben
1. Vervollständigen Sie die Tabelle:
Dezimal
109
Hexadezimal
Binär
AB
111011101
2. Geben Sie von den Dezimalwerten a = 33 und b = 129 die 8-BitZweier-Komplement-Darstellung an.
Bilden Sie in dieser Darstellung a + b, a - b und b - a.
(Beachten Sie die Gültigkeit der Ergebnisse)
3. Skizzieren Sie die interne Darstellung von Gleitkommazahlen. Geben
Sie -129.75 in einer 4-Byte-Darstellung an.
4. Ermitteln Sie die kleinste und die größte darstellbare positive Zahl für
eine 4-Byte-Gleitkommazahlen nach IEEE 754.
5. Zur Kommunikation einer Alarmanlage mit einem
Überwachungsrechner wurde eine Sprache mit 4 Worten vereinbart.
1.
2.
3.
4.
Kontrollwort:
Bewegtes Objekt nähert sich:
Bruch Tür/Fenster:
Bewegung im Innenraum:
1010 1100 0
0110 0011 0
1001 1010 0
0000 1110 1
Bestimmen Sie die Hamming-Distanz der Sprache.
Der Überwachungsrechner empfängt das Wort
0110 0011 1
Welchem Wort der vereinbarten Sprache kann das Bitmuster mit der
höchsten Wahrscheinlichkeit zugeordnet werden?
Binär-Arithmetik
Seite 16
Herunterladen