08.03.2014 Aufrufe

Technische Grundlagen der Informatik 12. Musterlösung ...

Technische Grundlagen der Informatik 12. Musterlösung ...

Technische Grundlagen der Informatik 12. Musterlösung ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Prof. Dr.-Ing. Sorin A. Huss<br />

<strong>Technische</strong> <strong>Grundlagen</strong> <strong>der</strong> <strong>Informatik</strong><br />

<strong>12.</strong> Musterlösung – Zahlendarstellung<br />

Wintersemester 2010/11<br />

Aufgabe 1 Dezimal nach Binär<br />

Wandeln Sie folgende Zahlen in Binärdarstellung um:<br />

a) 55 10 = 110111 2<br />

b) 42 10 = 101010 2<br />

c) 127 10 = 1111111 2<br />

d) 73951 10 = 10010000011011111 2<br />

Aufgabe 2 Dezimal nach Hexadezimal<br />

Wandeln Sie folgende Zahlen in Hexadezimaldarstellung um:<br />

a) 224 10 = E0 16<br />

b) 69 10 = 45 16<br />

c) 171 10 = AB 16<br />

d) 57005 10 = DEAD 16<br />

Aufgabe 3 Zahlenbereiche<br />

Aufgabe 3.1<br />

Welches ist die größte Zahl, die sich mit 5 Bit (vorzeichenlose Darstellung) darstellen lässt?<br />

Die größte Zahl berechnet sich aus 2 AnzahlBits − 1, in unserem Fall 2 5 − 1 = 31.<br />

Aufgabe 3.2<br />

Wie viele verschiedene Zahlen lassen sich mit 32 Bit darstellen?<br />

2 AnzahlBits , in unserem Fall 2 32 = 4294967296.<br />

Aufgabe 3.3<br />

Welches ist die größte Zahl, die sich mit 5 Bit (2-Komplement-Darstellung) darstellen lässt?<br />

Die größte darstellbare Zahl berechnet sich aus 2 AnzahlBits−1 − 1, in unserem Fall 2 5−1 − 1 = 15.<br />

Aufgabe 3.4<br />

Welches ist die kleinste Zahl, die sich mit 5 Bit (2-Komplement-Darstellung) darstellen lässt?<br />

Die kleinste darstellbare Zahl berechnet sich aus −(2 AnzahlBits−1 ), in unserem Fall −(2 5−1 ) = −16.<br />

Aufgabe 3.5<br />

In UNIX Systemen wird - aus historischen Gründen - die Zeit in Sekunden seit dem 1. Januar 1970, 0 Uhr gezählt. In<br />

welchem Jahr gibt es Probleme mit 32-Bit-Maschinen, wenn die Zahl vorzeichenlos gespeichert ist?<br />

Mit 32 Bit können 2 32 = 4294967296 Sekunden gezählt werden. Dies entspricht 4294967296/(60 ∗ 60 ∗ 24 ∗ 365) = 136<br />

Jahren, somit gibt es im Jahr 2106 Probleme.<br />

Alexan<strong>der</strong> Bie<strong>der</strong>mann bie<strong>der</strong>mann@iss.tu-darmstadt.de · Marc Stöttinger stoettinger@iss.tu-darmstadt.de · (0 61 51) 16-70470 1


Aufgabe 4 2-Komplement-Zahlen<br />

Wandeln Sie die folgenden Dezimalzahlen in 2-Komplement-Darstellung um. Jede Zahl soll ein Byte groß sein.<br />

a) 9 10 = 00001001<br />

b) −42 10 = 11010110<br />

c) 127 10 = 01111111<br />

d) −128 10 = 10000000<br />

Aufgabe 5 BCD<br />

Um eine Zahl als BCD (Binary Coded Decimal)-Zahl darzustellen, wird jede dezimale Ziffer (0 bis 9) durch jeweils 4 Bit<br />

binär dargestellt.<br />

Wandeln Sie die folgenden Dezimalzahlen in BCD um:<br />

a) 9 10 = 1001<br />

b) 42 10 = 0100 0010<br />

c) 524 10 = 0101 0010 0100<br />

Aufgabe 6 Zahlendarstellung II<br />

Vervollständigen Sie die Tabelle.<br />

Dezimal Binär Hexadezimal<br />

12 10 1100 2 C 16<br />

85 10 1010101 2 55 16<br />

3529 10 110111001001 2 DC9 16<br />

Aufgabe 7 Addition von Binärzahlen<br />

Addieren Sie die folgenden Binärzahlen, die vorzeichenlose Zahlen darstellen. Geben Sie auch die dezimalen Werte an.<br />

Tritt ein Overflow auf?<br />

1 0 1 1 (11) 1 0 0 1 1 (19)<br />

+ 0 0 0 1 ( 1) + 1 0 1 0 0 (20)<br />

1 1 0 0 (12) 1 0 0 1 1 1 (39)<br />

kein Overflow Overflow<br />

Aufgabe 8 : Addition von 2-Komplement-Zahlen<br />

Addieren Sie die folgenden 2-Komplement-Zahlen. Geben Sie auch die dezimalen Werte an. Tritt ein Overflow auf?<br />

0 0 1 0 1 0 1 0 (42) 0 1 0 0 0 0 1 1 (67)<br />

+ 1 0 0 0 0 0 0 0 (-128) + 0 1 0 0 0 1 0 0 (68)<br />

1 0 1 0 1 0 1 0 (-86) 1 0 0 0 0 1 1 1 (-121)<br />

kein Overflow<br />

Overflow<br />

2 Alexan<strong>der</strong> Bie<strong>der</strong>mann bie<strong>der</strong>mann@iss.tu-darmstadt.de · Marc Stöttinger stoettinger@iss.tu-darmstadt.de · (0 61 51) 16-70470


Aufgabe 9 Subtraktion von 2-Komplement-Zahlen<br />

Wandeln Sie die folgenden Dezimalzahlen in 2-Komplement-Zahlen <strong>der</strong> Größe 1 Byte um und subtrahieren sie voneinan<strong>der</strong>.<br />

Ist das Ergebnis korrekt?<br />

a) 10 10 − 63 10<br />

b) −50 10 − 80 10<br />

Lösung:<br />

a) 1. Schritt: Umrechnung in 2-K-Zahlen:<br />

10 Binär<br />

⇒ 00001010<br />

63 Binär<br />

⇒ 00111111<br />

2. Schritt: Addition<br />

00001010<br />

+11000001<br />

11001011<br />

Komplement bildung<br />

⇒ 11000001<br />

3. Schritt: Kontrolle: Zahl ist negativ:<br />

11001011<br />

Komplement bildung<br />

⇒<br />

00110101 Dezimal<br />

⇒<br />

b) 1. Schritt: Umrechnung in 2-K-Zahlen:<br />

50 Binär<br />

Komplement bildung<br />

⇒ 00110010 ⇒ 11001110<br />

80 Binär<br />

Komplement bildung<br />

⇒ 01010000 ⇒ 10110000<br />

2. Schritt: Addition<br />

11001110<br />

+10110000<br />

101111110<br />

53 : Ergebnis korrekt<br />

3. Schritt: Kontrolle: Es tritt ein Overflow auf: Ergebnis nicht korrekt (Das korrekte Ergebnis -130 ist nicht mit<br />

8 Bit darstellbar).<br />

Aufgabe 10 : Größer o<strong>der</strong> Kleiner?<br />

Welche <strong>der</strong> folgenden Zahlen ist größer? Rechnen Sie die Zahlen zuerst ins Dezimalsystem um. (Alle Zahlen sind vorzeichenlos).<br />

a) 1111 2 o<strong>der</strong> F 16 ⇒ 15 10 o<strong>der</strong> 15 10 , beide Zahlen sind also gleich<br />

b) 10101 2 o<strong>der</strong> AC 16 ⇒ 21 10 o<strong>der</strong> 172 10 , die erste Zahl ist kleiner<br />

c) 10010101 2 o<strong>der</strong> 8C 16 ⇒ 149 10 o<strong>der</strong> 140 10 , die erste Zahl ist größer<br />

Aufgabe 11 Festkommazahlen<br />

Stellen Sie folgende Zahlen im 4,4 Festkommaformat dar.<br />

• 12,625<br />

11001010<br />

• 7,8125<br />

01111101<br />

• 13,94<br />

11011111, nicht genau darstellbar<br />

Alexan<strong>der</strong> Bie<strong>der</strong>mann bie<strong>der</strong>mann@iss.tu-darmstadt.de · Marc Stöttinger stoettinger@iss.tu-darmstadt.de · (0 61 51) 16-70470 3


Aufgabe 12 Umwandlung in Gleitkommazahlen<br />

Stellen Sie die folgenden Zahlen im IEEE 754 Gleitkommaformat dar.<br />

• -0,75<br />

Zuerst wird die Zahl in eine Binärdarstellung umgewandelt. Es ergibt sich 0,11. Im IEEE 754 Format wird jede<br />

Zahl normalisiert dargestellt, d.h. sie muss so lange verschoben werden, bis genau eine 1 vor dem Komma steht.<br />

Durch Rechtsshift <strong>der</strong> Mantisse wird <strong>der</strong> Exponent größer, durch Linksshift kleiner. In diesem Fall muss um eine<br />

Stelle nach links geschoben werden, um 1,1 zu erhalten. Der Exponent beträgt -1. Nun werden die Werte in das<br />

Gleitkommaformat umgewandelt. Das erste Bit gibt das Vorzeichen an, es ist 1 da die Zahl negativ ist. Die nächsten<br />

8 Bit geben den Exponenten an, er muss noch um den Bias von 127 erhöht werden und ergibt sich somit zu 126,<br />

was binär 01111110 entspricht. Die komplette Zahl lautet damit 1 01111110 10000000000000000000000, in<br />

Hexadezimalschreibweise BF400000.<br />

• 99,7<br />

In Binärdarstellung ergibt sich 1100011,10110011001100110... Die Zahl kann nicht genau dargestellt werden da<br />

für die Mantisse nur 23 Bits zur Verfügung stehen, es bleibt ein Rest übrig. Zur Normalisierung muss um 6 Stellen<br />

nach rechts geschoben werden. Der Exponent beträgt 6+127=133, was binär 10000101 entspricht. Die komplette<br />

Zahl lautet damit 0 10000101 10001110110011001100110, in Hexadezimalschreibweise 42C76666.<br />

Aufgabe 13 Gleitkommazahlen 2<br />

Geben Sie eine Formel an, mit <strong>der</strong> eine gegebene Gleitkommazahl im IEEE 754-Format in die wissenschaftliche Darstellung<br />

umgewandelt werden kann.<br />

(−1) Vorzeichen ⋆ (1 + M antisse) ⋆ 2 E x ponent−127<br />

Aufgabe 14 Gleitkommaaddition<br />

Addieren Sie die beiden hexadezimal im IEEE 754 gegebenen Gleitkommazahlen X = 4AF20000 und Y = 4A618000.<br />

Zuerst werden die beiden Zahlen in Binärdarstellung umgewandelt und in Vorzeichen, Exponent und Mantisse zerlegt:<br />

X = 0 10010101 11100100000000000000000<br />

Y = 0 10010100 11000011000000000000000<br />

Die implizite 1 vor den Mantissen darf nicht vergessen werden:<br />

1,11100100000000000000000<br />

1,11000011000000000000000<br />

Da die Exponenten unterschiedlich groß sind, muss die Mantisse <strong>der</strong> Zahl mit dem kleineren Exponenten (Y) um<br />

genauso viele Schritte nach rechts geshiftet werden, wie sich die Exponenten unterscheiden. Hier muss also auf den<br />

Exponenten von Y 1 addiert werden, und entsprechend muss die Mantisse von Y um 1 nach rechts geshiftet werden:<br />

0,111000011000000000000000<br />

Die so entstandene Mantisse muss nun mit <strong>der</strong> <strong>der</strong> an<strong>der</strong>en Zahl addiert werden:<br />

1,11100100000000000000000<br />

0,11100001100000000000000<br />

10,11000101100000000000000<br />

Das Ergebnis muss wie<strong>der</strong>um so geshiftet werden, dass nur eine 1 vor dem Komma steht (hier: um 1 nach rechts<br />

shiften). Dabei muss natürlich <strong>der</strong> Exponent des Ergebnisses angepasst werden (hier: 1 auf den vorherigen gemeinsamen<br />

Exponenten addieren). Der neue Exponent ist also 10010101 + 1 = 10010110 Die Mantisse des Ergebnisses ist<br />

01100010110000000000000 (1 vor dem Komma fällt weg).<br />

Das Gesamtergebnis <strong>der</strong> Addition ist also: 0 10010110 01100010110000000000000, was hexadezimal 4B316000 entspricht.<br />

Aufgabe 15 Wertebereich von Gleitkommazahlen<br />

Welche Auswirkungen hat die Än<strong>der</strong>ung <strong>der</strong> Bitanzahl von Exponent und Mantisse?<br />

Mehr Bits für die Mantisse ergibt eine größere Genauigkeit <strong>der</strong> darstellbaren Zahlen.<br />

Mehr Bits für den Exponenten ergibt eine Vergrößerung des Wertebereichs.<br />

4 Alexan<strong>der</strong> Bie<strong>der</strong>mann bie<strong>der</strong>mann@iss.tu-darmstadt.de · Marc Stöttinger stoettinger@iss.tu-darmstadt.de · (0 61 51) 16-70470

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!