Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Zahlendarstellung in den Rechnern Z1 und Z3 Timm Grams Fachhochschule Fulda Fachbereich Elektrotechnik und Informationstechnik © Timm Grams, Fulda, 05.08.02.

Ähnliche Präsentationen


Präsentation zum Thema: "Zahlendarstellung in den Rechnern Z1 und Z3 Timm Grams Fachhochschule Fulda Fachbereich Elektrotechnik und Informationstechnik © Timm Grams, Fulda, 05.08.02."—  Präsentation transkript:

1 Zahlendarstellung in den Rechnern Z1 und Z3 Timm Grams Fachhochschule Fulda Fachbereich Elektrotechnik und Informationstechnik © Timm Grams, Fulda, 05.08.02 (korrigiert: 05.11.03)

2 Übersicht Zahlendarstellung (22 Bits) DecodierungCodierung Exponent (Zweierkomplement) Lesen einer Gleitpunktzahl von der Tastatur

3 v b -1 b -2... b -13 b -14 a 6 a 5... a 1 a 0 Zahlendarstellung (22 Bits) Jede Zahl wird als 22-Bit-Wort dargestellt. Reihenfolge: Vorzeichen, Exponent, Mantisse. Die Mantisse ist 15-stellig. Die führende Eins wird nicht mit abgespeichert. Der Exponent wird im Zweierkomplement dargestellt. Das Schema:

4 Decodierung (-1) v (1.b -1 b -2... b -13 b -14 ) 2 ·2 (a 6 a 5... a 1 a 0 ) 2 - a 6 ·2 7 v b -1 b -2... b -13 b -14 a 6 a 5... a 1 a 0 Beispiel: Die Decodierung des Bitmusters 0111110111100010101101 liefert die Dezimalzahl 0.235694885253906 Das Beispiel wird nun Schritt für Schritt ausgeführt.

5 Decodierung - Beispiel (-1) v (1.b -1 b -2... b -13 b -14 ) 2 ·2 (a 6 a 5... a 1 a 0 ) 2 - a 6 ·2 7 v b -1 b -2... b -13 b -14 a 6 a 5... a 1 a 0 Nebenrechnung: (1111101) - 1 ·2 7 (1111101) 2 - 1 ·2 7 2 6 + 2 5 + 2 4 + 2 3 + 2 2 + 2 0 - 2 7 = 2 6 + 2 5 + 2 4 + 2 3 + 2 2 + 2 0 - 2 7 = 125 - 128 = - 3 0111110111100010101101 + (1.11100010101101) 2 2 ( 1111101 ) 2 - 1 ·2 7 + (1.11100010101101) 2 · 2 ( 1111101 ) 2 - 1 ·2 7 Das Ergebnis wird hier eingefügt

6 Decodierung - Beispiel (-1) v (1.b -1 b -2... b -13 b -14 ) 2 ·2 (a 6 a 5... a 1 a 0 ) 2 - a 6 ·2 7 v b -1 b -2... b -13 b -14 a 6 a 5... a 1 a 0 0111110111100010101101 + (1.11100010101101) 2 2 -3 + (1.11100010101101) 2 ·2 -3 = (0.00111100010101101) 2 = 2 -3 2 -4 2 -5 2 -6 2 -10 2 -12 2 -14 2 -15 2 -17 = 2 -3 + 2 -4 + 2 -5 + 2 -6 + 2 -10 + 2 -12 + 2 -14 + 2 -15 + 2 -17 = 0.235694885253906 (Das Ergebnis)

7 Codierung des Exponenten Zweierkomplement Der Wertebereich des Exponenten geht von -64 bis 63. Der Bereich der positiven Zahlen geht von 0000000 0000000 0 bis 0111111 0111111 63. Der Bereich der negativen Zahlen geht von 1000000 1000000 64 - 2 7 = 64 - 128 = -64bis 1111111 1111111 127 - 2 7 = 127 - 128 = -1.

8 Positive Zahlen werden unmittelbar in die Dualzahl- darstellung codiert. Zu negativen Zahlen wird erst der Wert 128 addiert. Das Ergebnis wird in die Dualzahldarstellung über- tragen. Jede Zahl mit dem Exponenten -64 wird als Null interpretiert. Und jede Zahl mit dem Exponenten 63 gilt als Unendlich. Codierung des Exponenten Zweierkomplement

9 Codierung Lesen einer Gleitpunktzahl von der Tastatur Eingegeben wird die Zahl 2998 · Eingegeben wird die Zahl 2998 ·10 -1 (Lichtge- schwindigkeit in Meter pro Mikrosekunde). Die Arbeitsschritte: Nacheinander werden die Ziffern der Zahl 2998 übernommen. Gespeichert wird die Ganzzahl in einem der 22-Bit-Register (R1 oder R2). Es wird im Folgenden R genannt. Die Ganzzahl wird in die normalisierte Darstellung überführt. Der Exponent wird berücksichtigt. (Hier geht es ums Prinzip. Absolute Detailtreue - insbesondere was die Registerbelegung angeht - ist nicht angestrebt.)

10 Eingabe der Zahl 2998 ·10 -1 SchrittRegister R 2 xxxxxxxx00000000000010 10 10 Nebenrechnung: R mit (0010) 2 xxxxxxxx00000000000100 R mit (0010) 2 multiplizieren xxxxxxxx00000000000100 R mit (1000) 2 xxxxxxxx00000000010000 R mit (1000) 2 multiplizieren xxxxxxxx00000000010000 Werte addieren xxxxxxxx00000000010100 Das Ergebnis wird nun hier eingefügt

11 Eingabe der Zahl 2998 ·10 -1 + 9 xxxxxxxx00000000011101 10 xxxxxxxx00000100100010 10 xxxxxxxx00000100100010 + 9 xxxxxxxx00000100101011 10 xxxxxxxx00101110101110 10 xxxxxxxx00101110101110 + 8 xxxxxxxx00101110110110 Normalisierung: Führende 1 nach links herausschieben und dann den Dezimalpunkt um 14 Stellen nach links verrücken liefert die interne Darstellung von 2998 mit dem Exponenten 14-3 = 11 = (1011) 2 : 0000101101110110110000 SchrittRegister R 2 xxxxxxxx00000000000010 10 xxxxxxxx00000000010100 10 xxxxxxxx00000000010100

12 Eingabe der Zahl 2998 ·10 -1 + 9 xxxxxxxx00000000011101 10 xxxxxxxx00000100100010 10 xxxxxxxx00000100100010 + 9 xxxxxxxx00000100101011 10 xxxxxxxx00101110101110 10 xxxxxxxx00101110101110 + 8 xxxxxxxx00101110110110 Normalisieren 0000101101110110110000 Jetzt steht die Zahl 2998 im Register. SchrittRegister R 2 xxxxxxxx00000000000010 10 xxxxxxxx00000000010100 10 xxxxxxxx00000000010100

13 Eingabe der Zahl 2998 ·10 -1 Nebenrechnung Für die Multiplikation mit wird folgende Beziehung genutzt: Für die Multiplikation mit 10 -1 wird folgende Beziehung genutzt: 10 -1 10 -1 = (0.000110011001100110011...) 2 (0.00011001100110011) 2 = 2 -4 ·(1.1) 2 ·(1.0001) 2 ·(1.00000001) 2 = 2 -4 ·(1+2 -1 ) ·(1+2 -4 ) ·(1+2 -8 ) Die Multiplikation mit 10 -1 läuft also darauf hinaus, den Registerin- halt nacheinander mit 2 -4, 1+2 -1, 1+2 -4 und 1+2 -8 zu multiplizieren. SchrittRegister R 2998 0000101101110110110000 10 -1 10 -1

14 Eingabe der Zahl 2998 ·10 -1 Dieses Programm wird nun ausgeführt 0000011101110110110000 2 -4 0000011101110110110000 (1+2 -1 ) Mantisse 1.01110110110000) 2 Mantisse 1( 1.01110110110000) 2 Mantisse 0.10111011011000) 2 Mantisse 2 -1 ( 0.10111011011000) 2 Mantisse 10.00110010001000) 2 Mantisse (1+2 -1 ) ( 10.00110010001000) 2 Mantisse normalisieren 2 1 ·1.00011001000100) 2 Mantisse normalisieren 2 1 · ( 1.00011001000100) 2 SchrittRegister R 2998 0000101101110110110000 10 -1 10 -1 Ergebnis in die Zahlendarstellung übernehmen

15 Dieses Programm wird nun ausgeführt 0000011101110110110000 2 -4 0000011101110110110000 0000100000011001000100 (1+2 -1 ) 0000100000011001000100 Eingabe der Zahl 2998 ·10 -1 SchrittRegister R 2998 0000101101110110110000 10 -1 10 -1 0000100000101010101000 (1+2 -4 ) 0000100000101010101000 0000100000101011110011 (1+2 -8 ) 0000100000101011110011 Das Ergebnis wird hier eingefügt

16 Eingabe der Zahl 2998 ·10 -1 SchrittRegister R 2998 0000101101110110110000 10 -1 0000100000101011110011 10 -1 0000100000101011110011 Jetzt steht die Zahl 299.796875 im Register R. Das ist - zumindest näherungsweise - das gewünschte Resultat.

17 Zahlendarstellung in den Rechnern Z1 und Z3 Ende der Demonstration


Herunterladen ppt "Zahlendarstellung in den Rechnern Z1 und Z3 Timm Grams Fachhochschule Fulda Fachbereich Elektrotechnik und Informationstechnik © Timm Grams, Fulda, 05.08.02."

Ähnliche Präsentationen


Google-Anzeigen