• Keine Ergebnisse gefunden

Zahlendarstellung in den Zahlendarstellung in den Rechnern Z1 und Z3 Rechnern Z1 und Z3

N/A
N/A
Protected

Academic year: 2022

Aktie "Zahlendarstellung in den Zahlendarstellung in den Rechnern Z1 und Z3 Rechnern Z1 und Z3"

Copied!
17
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Zahlendarstellung in den Zahlendarstellung in den

Rechnern Z1 und Z3 Rechnern Z1 und Z3

Timm Grams Timm Grams

Fachhochschule Fulda Fachhochschule Fulda

Fachbereich Elektrotechnik und Fachbereich Elektrotechnik und

Informationstechnik Informationstechnik

© Timm Grams, Fulda, 05.08.02 (korrigiert:

© Timm Grams, Fulda, 05.08.02 (korrigiert: 05.11.03)05.11.03)

(2)

Übersicht Übersicht

Zahlendarstellung (22 Bits) Zahlendarstellung (22 Bits)

Decodierung Decodierung

Codierung Codierung

Exponent (Zweierkomplement) Exponent (Zweierkomplement)

Lesen einer Gleitpunktzahl von der Tastatur Lesen einer Gleitpunktzahl von der Tastatur

(3)

v v a

6

a

5

... a

1

a

0

b

-1

b

-2

... b

-13

b

-14

Zahlendarstellung (22 Bits) Zahlendarstellung (22 Bits)

Jede Zahl wird als 22-Bit-Wort dargestellt.

Jede Zahl wird als 22-Bit-Wort dargestellt.

Reihenfolge: Vorzeichen, Exponent, Mantisse.

Reihenfolge: Vorzeichen, Exponent, Mantisse.

Die Mantisse ist 15-stellig. Die führende Eins wird Die Mantisse ist 15-stellig. Die führende Eins wird nicht mit abgespeichert.

nicht mit abgespeichert.

Der Exponent wird im Zweierkomplement Der Exponent wird im Zweierkomplement dargestellt.

dargestellt.

Das Schema:

Das Schema:

(4)

Decodierung Decodierung

 (-1) (-1)

vv

(1. (1. b b

-1-1

b b

-2-2

... ... b b

-13-13

b b

-14-14

) )

2 2

·2 ·2

((aa66aa55 ... ... aa11aa00))2 2 - - aa6 6·2·277

v v a

6

a

5

... a

1

a

0

b

-1

b

-2

... b

-13

b

-14

Beispiel:

Beispiel:

Die Decodierung des Bitmusters Die Decodierung des Bitmusters 0 0 1111101 1111101 11100010101101 11100010101101

liefert die Dezimalzahl liefert die Dezimalzahl

0.235694885253906 0.235694885253906

Das Beispiel wird nun Schritt für Schritt ausgeführt.

Das Beispiel wird nun Schritt für Schritt ausgeführt.

(5)

Decodierung

Decodierung - Beispiel - Beispiel

 (-1) (-1)

vv

(1. (1. b b

-1-1

b b

-2-2

... ... b b

-13-13

b b

-14-14

) )

2 2

·2 ·2

((aa66aa55 ... ... aa11aa00))2 2 - - aa6 6·2·277

v v a

6

a

5

... a

1

a

0

b

-1

b

-2

... b

-13

b

-14

Nebenrechnung:

(1111101(1111101))2 - 1- 1 ·2·277

= 2 26 6 + + 225 5 + + 224 4 + + 223 3 + + 222 2 + + 220 0 - - 2277

= 125 - 128= 125 - 128

= - 3= - 3

0 0 1111101 1111101 11100010101101 11100010101101

  + + (1.11100010101101 (1. 11100010101101 ) )

22

· 2 2

((11111011111101))2 2 - - 11·2·277

Das Ergebnis wird Das Ergebnis wird

hier eingefügt hier eingefügt

(6)

Decodierung

Decodierung - Beispiel - Beispiel

 (-1) (-1)

vv

(1. (1. b b

-1-1

b b

-2-2

... ... b b

-13-13

b b

-14-14

) )

2 2

·2 ·2

((aa66aa55 ... ... aa11aa00))2 2 - - aa6 6·2·277

v v a

6

a

5

... a

1

a

0

b

-1

b

-2

... b

-13

b

-14

0 0 1111101 1111101 11100010101101 11100010101101

  + + (1.11100010101101 (1. 11100010101101 ) )

22

· 2 2

-3-3

= (0.00111100010101101)

= (0.00111100010101101)

22

= 2 = 2

-3-3

+ 2 2

-4-4

+ 2 2

-5-5

+ 2 2

-6-6

+ 2 2

-10-10

+ 2 2

-12-12

+ 2 2

-14-14

+ 2 2

-15-15

+ 2 2

-17-17

= = 0.235694885253906 0.235694885253906 (Das Ergebnis) (Das Ergebnis)

(7)

Codierung des Exponenten Codierung des Exponenten

Zweierkomplement Zweierkomplement

Der Wertebereich des Exponenten geht von -64 Der Wertebereich des Exponenten geht von -64 bis 63.

bis 63.

Der Bereich der positiven Zahlen geht von Der Bereich der positiven Zahlen geht von

0000000

0000000  0 bis

0111111

0111111  63.

Der Bereich der negativen Zahlen geht von 1000000

1000000  64 - 27 = 64 - 128 = -64 bisbis

1111111

1111111  127 - 27 = 127 - 128 = -1.

(8)

Positive Zahlen werden unmittelbar in die Dualzahl- Positive Zahlen werden unmittelbar in die Dualzahl-

darstellung codiert.

darstellung codiert.

Zu negativen Zahlen wird erst der Wert 128 addiert.

Zu negativen Zahlen wird erst der Wert 128 addiert.

Das Ergebnis wird in die Dualzahldarstellung über- Das Ergebnis wird in die Dualzahldarstellung über-

tragen.

tragen.

Jede Zahl mit dem Exponenten -64 wird als Null Jede Zahl mit dem Exponenten -64 wird als Null

interpretiert. Und jede Zahl mit dem Exponenten 63 interpretiert. Und jede Zahl mit dem Exponenten 63

gilt als Unendlich.

gilt als Unendlich.

Codierung des Exponenten Codierung des Exponenten

Zweierkomplement

Zweierkomplement

(9)

Codierung Codierung

Lesen einer Gleitpunktzahl von der Tastatur 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 um‘s Prinzip. Absolute Detailtreue - insbesondere was die Registerbelegung angeht - ist nicht angestrebt.)

(10)

Eingabe der Zahl 2998 ·10 Eingabe der Zahl 2998 ·10 -1 -1

Schritt

Schritt Register R Register R

2 2  xxxxxxxxxxxxxxxx0000000000001000000000000010

  1010

Nebenrechnung:

Nebenrechnung:

R mit (0010)

R mit (0010)2 2 multiplizieren xxxxxxxxxxxxxxxx0000000000010000000000000100 R mit (1000)

R mit (1000)2 2 multiplizieren xxxxxxxxxxxxxxxx0000000001000000000000010000 Werte addieren

Werte addieren xxxxxxxxxxxxxxxx0000000001010000000000010100 Das Ergebnis wird

Das Ergebnis wird nun hier eingefügt nun hier eingefügt

(11)

Eingabe der Zahl 2998 ·10 Eingabe der Zahl 2998 ·10 -1 -1

+ 9+ 9 xxxxxxxxxxxxxxxx0000000001110100000000011101

 1010 xxxxxxxxxxxxxxxx0000010010001000000100100010 + 9+ 9 xxxxxxxxxxxxxxxx0000010010101100000100101011

 10 10 xxxxxxxxxxxxxxxx0010111010111000101110101110 + 8+ 8 xxxxxxxxxxxxxxxx0010111011011000101110110110 Normalisierung:

Normalisierung: Führende 1 „nach links herausschieben“ und Führende 1 „nach links herausschieben“ und dann den Dezimalpunkt um 14 Stellen nach links verrücken dann den Dezimalpunkt um 14 Stellen nach links verrücken

liefert die interne Darstellung von 2998 mit dem Exponenten 14- liefert die interne Darstellung von 2998 mit dem Exponenten 14- 3 = 11 = (1011)

3 = 11 = (1011)22:: 00001011000010110111011011000001110110110000

Schritt

Schritt Register R Register R

2 2  xxxxxxxxxxxxxxxx0000000000001000000000000010

  1010 xxxxxxxxxxxxxxxx0000000001010000000000010100

(12)

Eingabe der Zahl 2998 ·10 Eingabe der Zahl 2998 ·10 -1 -1

+ 9+ 9 xxxxxxxxxxxxxxxx0000000001110100000000011101

 1010 xxxxxxxxxxxxxxxx0000010010001000000100100010 + 9+ 9 xxxxxxxxxxxxxxxx0000010010101100000100101011

 1010 xxxxxxxxxxxxxxxx0010111010111000101110101110 + 8+ 8 xxxxxxxxxxxxxxxx0010111011011000101110110110 Normalisieren

Normalisieren 00001011000010110111011011000001110110110000 Jetzt steht die Zahl 2998 im Register.

Jetzt steht die Zahl 2998 im Register.

Schritt

Schritt Register R Register R

2 2  xxxxxxxxxxxxxxxx0000000000001000000000000010

  1010 xxxxxxxxxxxxxxxx0000000001010000000000010100

(13)

Eingabe der Zahl 2998 ·10 Eingabe der Zahl 2998 ·10 -1 -1

Nebenrechnung Nebenrechnung

Für die Multiplikation mit

Für die Multiplikation mit 10-1 wird folgende Beziehung genutzt: wird folgende Beziehung genutzt:

1010-1-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.

Schritt

Schritt Register R Register R

2998

2998  00001011000010110111011011000001110110110000

  1010-1-1

(14)

Eingabe der Zahl 2998 ·10 Eingabe der Zahl 2998 ·10 -1 -1

Dieses Programm wird nun ausgeführt Dieses Programm wird nun ausgeführt

 2-4 00000111000001110111011011000001110110110000

 (1+2-1)

Mantisse

Mantisse  1 (1.011101101100001.01110110110000))22 Mantisse

Mantisse  2-1 ( 0.101110110110000.10111011011000))22 Mantisse

Mantisse  (1+2-1) ( 10.0011001000100010.00110010001000))22 Mantisse normalisieren

Mantisse normalisieren 2211··(1.000110010001001.00011001000100))22

Schritt

Schritt Register R Register R

2998

2998  00001011000010110111011011000001110110110000

  1010-1-1

Ergebnis in die Zahlendarstellung Ergebnis in die Zahlendarstellung

übernehmen übernehmen

(15)

Dieses Programm wird nun ausgeführt Dieses Programm wird nun ausgeführt

 2-4 00000111000001110111011011000001110110110000

 (1+2-1) 00001000000010000001100100010000011001000100

Eingabe der Zahl 2998 ·10 Eingabe der Zahl 2998 ·10 -1 -1

Schritt

Schritt Register R Register R

2998

2998  00001011000010110111011011000001110110110000

  1010-1-1

 (1+2-4) 00001000000010000010101010100000101010101000

 (1+2-8) 00001000000010000010101111001100101011110011 Das Ergebnis wird Das Ergebnis wird

hier eingefügt hier eingefügt

(16)

Eingabe der Zahl 2998 ·10 Eingabe der Zahl 2998 ·10 -1 -1

Schritt

Schritt Register R Register R

2998

2998  00001011000010110111011011000001110110110000

  1010-1-1 00001000000010000010101111001100101011110011

Jetzt steht die Zahl

Jetzt steht die Zahl 299.796875 299.796875 im Register R. im Register R.

Das ist - zumindest näherungsweise - das Das ist - zumindest näherungsweise - das gewünschte Resultat.

gewünschte Resultat.

(17)

Zahlendarstellung in den Zahlendarstellung in den

Rechnern Z1 und Z3 Rechnern Z1 und Z3

Ende der Demonstration

Ende der Demonstration

Referenzen

ÄHNLICHE DOKUMENTE

Da Möbiustransformationen Kreise entweder auf Kreise oder auf Geraden abbilden und ∞ auf jeder Geraden und auf keinem Kreis liegt, müssen T (∂G 1 ) und T (∂G 2 ) Geraden sein..

Liht- saim Z 2 tüüpi mudel annab laia parameetrite vahemiku tumeaine realiseerimiseks [17, 18], kuid GL-ed antud mudelis ei avaldu, sest FS-ded on teist järku [19].. Käesolevas

protected [ abgeleitete Klassen und Klassen im gleichen Paket können zugreifen ] final [ kann nicht mehr geändert (Variable) überschrieben (Methode) oder abgeleitet (Klasse) werden

[r]

lu lu Lesen von Tastatur nach R1 (falls leer) oder R2 Lesen von Tastatur nach R1 (falls leer) oder R2 ld ld R1 anzeigen R1 anzeigen. pr z pr z Lesen von Speicherzelle z: R1 Lesen

public class Maus extends Applet { public void init() {}. this.addMouseListener(new

[r]

• Ein (durchaus berechenbarer) Verlust entsteht da- durch, dass jedes Zeichen mit einer ganzen Zahl von Bits kodiert werden muss und somit die Code- länge den Häufigkeiten nicht