Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

1 Vertiefungsstoff zum Thema „Darstellung von Zahlen“ Addition von Zahlen in BCD-Kodierung Einerkomplementdarstellung von ganzen Zahlen Gleitpunktdarstellung.

Ähnliche Präsentationen


Präsentation zum Thema: "1 Vertiefungsstoff zum Thema „Darstellung von Zahlen“ Addition von Zahlen in BCD-Kodierung Einerkomplementdarstellung von ganzen Zahlen Gleitpunktdarstellung."—  Präsentation transkript:

1 1 Vertiefungsstoff zum Thema „Darstellung von Zahlen“ Addition von Zahlen in BCD-Kodierung Einerkomplementdarstellung von ganzen Zahlen Gleitpunktdarstellung nach dem IEEE-754-Standard

2 2 Rechnen mit BCD-codierten Zahlen Idee Verwende zur Codierung der Ziffern 0,..., 9 eine Tetraden-Codierung, d.h., codiere jede Dezimalziffer mit einem 4 Bitwort: c BCD : {0,..., 9}  B 4 Mehr-zifferige Dezimalzahlen werden dann ziffernweise mit der natürlichen Fortsetzung c* BCD codiert: Beispiel: c* BCD (13) =c BCD (1) c BCD (3) = 0001 0011 Frage Wie rechnet (addiert) man mit BCD-codierten Zahlen? Antwort: siehe nächste Folie 2 3 2 2 2 1 1 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1111 01234567890123456789......

3 3 Mit der BCD-Codierung werden mehrstellige Dezimalzahlen ziffernweise codiert, wobei die Codierung der Ziffern {0, 1,..., 9} wie in der Tabelle angegeben erfolgt. Rechenbeispiel: Geben Sie die BCD-Codierung der beiden Dezimalzahlen 3617 und 5438 an. Die Codierung erfolgt ziffernweise. 3617 0011011000010111 5438 0101010000111000 Wie addiert man BCD-codierte Zahlen? Idee –Addiere ziffernweise, d.h. schreibe die Binärdarstellungen der Ziffern untereinander und führe Binäraddition durch: (3617) 10 = 0011011000010111 + (5438) 10 = 0101010000111000 100010100100 1 1111 –Problem: Behandlung von Überläufen! Binärwörter 1010 und 1 1111 sind nicht im BCD!

4 4 Addition von BCD-codierten Zahlen –Addiere ziffernweise, d.h. schreibe die Binärdarstellungen der Ziffern untereinander und führe Binäraddition durch: (3617) 10 = 0011011000010111 + (5438) 10 = 0101010000111000 100010100100 1 1111 Ideen zur Behandlung von Überläufen: Ansatz 1 –Lege eine Tabelle an, in der man nachschaut, wie die korrekte Ziffer bei einem der möglichen „pathologischen“ Fälle aussieht. (Es gibt insgesamt 6 solcher Fälle.) Im Beispiel gibt es zwei pathologische Fälle: 1)Zwei Binärziffern addieren sich zu 1010, dann lautet die richtige Ziffer der Summe 0000 jedoch entsteht ein Übertrag von 1, der zur Summe der nächsten Zifferaddition dazugezählt werden muss. 2)Zwei Binärziffern addieren sich zu 1 1111, dann lautet die richtige Ziffer der Summe 0101. Der Übertrag von 1 wird zur Summe der nächsten Zifferaddition dazugezählt.

5 5 Addition von BCD-codierten Zahlen (3617) 10 = 0011011000010111 + (5438) 10 = 0101010000111000 100010100100 1 1111 Ideen zur Behandlung von Überläufen: Ansatz 2: –Untersucht man die möglicherweise auftretenden 6 pathologischen Fälle, so erkennt man, dass man die jeweils richtige Ziffer durch Addition des Korrekturmusters 0110 erhält. Das heißt, wenn immer bei der Addition eine Summe S = s 4 s 3 s 2 s 1 > 1001 auftritt, addiert man zu S zunächst das Korrekturmuster 0110. Dies ergibt dann die richtige Ziffernfolge z 4 z 3 z 2 z 1 sowie einen Übertrag von 1. Im Beispiel: 0110 0100 1010 somit ist s 4 s 3 s 2 s 1 größer als 1001 so dass das Korrekturmuster 0110 aufaddiert werden muss: 1010 0110 1 0000 Wie man sieht, erhält man die richtige Binärzahl 0000 = (0) 10 sowie einen Übertrag von 1 für die nächste Stelle.

6 6 Addition von BCD-codierten Zahlen (3617) 10 = 0011011000010111 + (5438) 10 = 0101010000111000 100010100100 1 1111 Addition der Binärcodierungen 0111 und 1000 Im Beispiel: 0111 1000 1 1111 somit ist s 4 s 3 s 2 s 1 größer als 1001 so dass das Korrekturmuster 0110 aufaddiert werden muss. Es ist jedoch bereits ein Überlauf entstanden, so dass eine 5-stellige Binärzahl vorliegt. In diesem Fall wird das Korrekturmuster nur zu den Stellen s 4 s 3 s 2 s 1 addiert Summe: 1 1111 1111 5te Stelle ignorieren! 0110 Korrekturmuster zu s 4 s 3 s 2 s 1 addieren. 1 0101 Wie man sieht, erhält man die richtige Binärzahl 0101 = (5) 10 sowie einen Übertrag von 1 für die nächste Stelle.

7 7 Addition von BCD-codierten Zahlen insgesamt ergibt sich somit folgende Rechnung: (3617) 10 = 0011011000010111 + (5438) 10 = 0101010000111000 1 1111 (7+8) 1111betrachte nur 4 Stellen 0110 Korrekturmuster aufaddieren 1 0101 korrekte Ziffer mit Überlauf 0100(3+1) 0001plus Überlauf 0101korrekte Ziffer, kein Überlauf 1010(4+6) 0110 Korrekturmuster aufaddieren 1 0000korrekte Ziffer mit Überlauf 1000(3+5) 0001plus Überlauf 1001korrekte Ziffer, kein Überlauf Somit ergibt sich: ( 1001 00000101 0101 ) BCD c) BCD -> ( x ) 10 ( 9 0 5 5 ) 10

8 8 Weitere Ansätze zur Codierung von Ziffern Ziffern-Codierungen: Sind spezielle n-Bit-Codierungen c : A  B n. Sie wurden entwickelt, um arithmetische Operationen auf codierten Wörtern zu unterstützen. 4-Bit reichen zur Darstellung von 10 Ziffern aus. Spezielle Codes zur Zifferndarstellung BCD-Codierung: Tetraden-Codierung, d.h., c : A  B 4 EBCDIC (Extended Binary Coded Decimal Interchange Code), ein auf 8-Bit erweiterter BCD-Code gemäß: c EBCDIC (i) = "1111" + c BCD (i) = 1111c BCD (i) Aiken-Codierung: Tetraden-Codierung mit Darstellung jeder Ziffer d  {0,..., 9} in 4 Bits durch: -Binärdarstellung von d, für d  {0,..., 4} (also 0000,...,0100) -Binärdarstellung von d+6, für d  {5,..., 9} (also 1011,...,1111) Exzess-3-Codierung: Tetraden-Codierung, Darstellung jeder Zahl z durch Ziffer d z in 4 Bits durch "Dualdarstellung" von z+3.

9 9 Zweier-Komplementdarstellung (allgemein) Die Zweierkomplement-Darstellung (in n Stellen) ist die gebräuchlichste interne Darstellung ganzer positiver und negativer Zahlen. Anmerkung: Negative Werte lassen sich am weitesten links stehenden Bit erkennen. Es gibt nur eine (natürliche) Darstellung der Zahl 0. Darstellung des Zahlenbereichs ist unsymmetrisch zum Nullpunkt. Definition: Sei A 2K,n = {-2 n-1,..., 0, 1,..., 2 n-1 -1 } der darzustellende Zahlenbereich. Unter der Zweier-Komplementdarstellung versteht man die Codierung: C 2,n (x) falls 0  x  2 n-1 C 2K,n (x) = C 2,n (2 n + x) falls - 2 n-1  x  0 Definition: Sei A 2K,n = {-2 n-1,..., 0, 1,..., 2 n-1 -1 } der darzustellende Zahlenbereich. Unter der Zweier-Komplementdarstellung versteht man die Codierung: C 2,n (x) falls 0  x  2 n-1 C 2K,n (x) = C 2,n (2 n + x) falls - 2 n-1  x  0

10 10 Gibt es weitere Komplementdarstellungen ? Ja, z.B. die sog. 1-Komplement-Darstellung (in n Stellen). Die 1-Komplement-Darstellung ist analog zur Zweier-Komplement- Darstellung, jedoch mit dem Unterschied, dass nach der Komplementbildung keine 1 zur Zahl addiert wird. Anmerkung: Es gibt zwei Darstellungen der Zahl 0 (dadurch symmetrisch zum Nullpunkt). Überlaufbehandlung erforderlich: muss zum Ergebnis addiert werden. Führendes Bit signalisiert, dass es sich um negative Zahl handelt. Ihr Betrag lässt sich durch Komplementbildung ermitteln. Definition: darzustellende Zahlenbereich: A 1K,n = {  2 n  1 + 1,..., 0,..., 2 n  1  1 } Unter der 1-Komplementdarstellung versteht man die Codierung: C 2,n (x) falls 0  x  2 n-1 C 2Komp (x) = C 2,n (2 n  1 + x) falls -2 n-1  x  0 Definition: darzustellende Zahlenbereich: A 1K,n = {  2 n  1 + 1,..., 0,..., 2 n  1  1 } Unter der 1-Komplementdarstellung versteht man die Codierung: C 2,n (x) falls 0  x  2 n-1 C 2Komp (x) = C 2,n (2 n  1 + x) falls -2 n-1  x  0

11 11 Addition mit 1-Komplementdarstellung 6 + 6 = 12: 0110 +0110 1100 =  3 (  4 ) + (  3) = (  7): 1011 +1100 1 0111 + 1 1 1000   7 Mit Überlauf: 0 1 2 3 4 5 6 7 77 66 55 44 33 22 11 00 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 0 7 4 + 3 = 7: 0100 +0011 0111 =  Ohne Überlauf: Die Zahl 0 hat zwei Darstellungen!

12 12 Ähnlichkeit der Darstellungsformen am Beispiel Mit Vorzeichenbit :– 77= 1100 1101 2 Einerkomplement :– 77= 1011 0010 2 Zweierkomplement :– 77= 1011 0011 2c Die Zahl –77 10 soll mit 8 Bit dargestellt werden: (77) 10 = (0100 1101) 2 Bitweise Komplementbildung Addition von 1 Mit Vorzeichenbit:– 20= 1001 0100 2 Einerkomplement:– 20= 1110 1011 2 Zweierkomplement:– 20= 1110 0100 2c Bitweise Komplementbildung Addition von 1 Durch die Addition von 1 kann sich das Bitmuster jedoch auch an einer anderen Stelle ändern. Beispiel: Darstellung der Zahl –20 10 mit 8 Bit:

13 13 Gleitpunkt-Darstellung nach IEEE-754-Standard Gleitpunktdarstellung nach IEEE-754 Vorzeichen V: 1 Bit für Vorzeichen der Mantisse Charakteristik c: Exzess-q-Darstellung des Exponenten exp = c-q mit q = 2 (n  k  1) – 1 Mantisse m: Mit Werten zwischen 1  m|  2. Wegen Normierung auf Format 1.xxx....xxx wird die führende 1 nicht gespeichert! m -> m'.  dargestellte Zahl x = (-1) V  (1 + m')  2 (c  q) VCharakteristik cBetrag der Mantisse m (1  m|  2 ) n-1 | n-2 | k-2 0 Die Berufsvereinigung IEEE (Institute of Electrical and Electronics Engineers) hat einen Standard verabschiedet, die in den meisten Rechnern heute verwendet wird: IEEE-754-Standard für n-Bit-GPZ

14 14 Gleitpunkt-Darstellung nach IEEE-754-Standard Einfache Genauigkeit =>8-Bit Charakteristik: Exponent zwischen -127 und 128 (entspricht dem Dezimalbereich von 10  39... 10 39 ) und(23+1)-Bit Mantisse: Werte zwischen 1 und 2- 2  23 (~ 10  7 ). VCharakteristikBetrag der Mantisse m (1  m  2) 31 | 30 23 | 22 0 Doppelte Genauigkeit VCharakteristikBetrag der Mantisse m (1  m  2) 63 | 62 52 | 51 0  11-Bit Charakteristik: Exponent zwischen -1023 und 1024 (~10  307...10 307 ) (52+1)-Bit Mantisse: Werte zwischen 1 und 2- 2  52 (~ 10  15 ).

15 15 Gleitpunkt-Darstellung nach IEEE-754-Standard Erweiterte Genauigkeit (Datentyp „extended“ )  15-Bit Charakteristik: Exponent zwischen 2  14 + 1 und 2 14 (64+1)-Bit Mantisse: Werte zwischen 1 und 2- 2  64 VCharakteristikBetrag der Mantisse m (1  m  2) 79 | 78 64 | 63 0 Sonderfälle im IEEE-754-Standard Normalisierte Zahl:  0  exp  255 mit beliebiger Mantisse m Denormalisierte Zahl:  exp =  0 mit m  0 beliebig Darstellung der Zahl 0 durch: c = 0 und m =0 Darstellung von „Unendlich“  durch: c maximal und m = 0 Darstellung von „Not a Number“ (NaN): c maximal und m  0


Herunterladen ppt "1 Vertiefungsstoff zum Thema „Darstellung von Zahlen“ Addition von Zahlen in BCD-Kodierung Einerkomplementdarstellung von ganzen Zahlen Gleitpunktdarstellung."

Ähnliche Präsentationen


Google-Anzeigen