Martin-Luther-Universität Halle-Wittenberg Fachbereich Mathematik und Informatik Lehrstuhl für Technische Informatik Prof. P. Molitor Ausgabe: 2005-02-21 Abgabe: 2005-02-21 Technische Informatik - Eine Einführung Zahlendarstellungen Aufgabe 1 (0 Punkte) Wiederholen Sie anhand der folgenden Teilaufgaben den Umgang mit der Binärdarstellung. a) Beweisen Sie die Gültigkeit der Gleichung n−1 X 2i = 2n − 1. i=0 b) Wie viele Stellen werden jeweils für die Darstellungen der Dezimalzahlen · 2048 · 4095 · 131578387 · 56238383874 · 8753784734747 in Binärdarstellung (ohne Vorzeichen) mindestens benötigt? Aufgabe 2 (0 Punkte) Gegeben sei die 32 bit-Zahl x = 10101100001101000010011010100111. Interpretieren Sie x als a) Zahl in Betrag-Vorzeichen-Darstellung mit drei Nachkommastellen, b) Zahl in Einerkomplementdarstellung mit drei Nachkommastellen, c) Zahl in Zweikomplementdarstellung mit vier Nachkommastellen und d) Gleitkommazahl nach dem Ieee 754 Standard. 1 Aufgabe 3 (0 Punkte) Gegeben seien die Dezimalzahlen x = 127, 625 und y = −3, 0625. Stellen sie die beiden Zahlen in der Zweierkomplementdarstellung mit einer Länge von jeweils 16 Stellen inkl. 6 Nachkommastellen dar. Aufgabe 4 (0 Punkte) Berechnen Sie für die im folgenden gegebenen vier Zahlen in unterschiedlichen Zahlendarstellungen jeweils alle anderen Darstellungen. · Dezimal mit Vorzeichen und Betrag (vorderste Stelle + = positive Zahl, - = negative Zahl) · 16-Bit Binär mit Vorzeichen und Betrag (höchstwertigstes Bit 0 = positive Zahl, 1 = negative Zahl) · 16-Bit Binär in der Einer-Komplement Darstellung · 16-Bit Binär in der Zweier-Komplement Darstellung · Oktal (interpretiert als Zweier-Komplement) · Hexadezimal (interpretiert als Zweier-Komplement) Wichtig: Verwenden Sie für die dezimale, oktale und hexadezimale Darstellungsform nur so viele Stellen, wie für die Darstellung mindestens benötigt. Gegeben sind die Zahlen: · +1024 Dezimal mit Vorzeichen und Betrag · A0F1 Hexadezimal (interpretiert als Zweierkomplementdarstellung) · 77777 Oktal (interpretiert als Zweierkomplementdarstellung) · 1111111111111111 16-Bit Binär in der Zweierkomplementdarstellung Aufgabe 5 (0 Punkte) Gegeben ist die Zahl −78. Schreiben Sie die Zahl in Zweierkomplementdarstellung mit einem Byte und mit vier Byte auf. Darstellung mit einem Byte: Darstellung mit 2-Byte: Aufgabe 6 (0 Punkte) Der Speicher des Zuse-Rechners Z1 erlaubt es, binäre Zahlen als 22 Bit-Worte darzustellen. Jede gespeicherte Zahl besteht aus dem Vorzeichen (1 Bit), dem Exponenten (7 Bit) und der Mantisse (14 Bit). 2 Der Aufbau einer solchen binären Zahl sieht wie folgt aus: x= v a6 a5 a4 a3 a2 a1 a0 b−1 b−2 b−3 b−4 b−5 b−6 b−7 b−8 b−9 b−10 b−11 b−12 b−13 b−14 wobei v, ai , bi ∈ {0, 1}. Der dezimale Wert ergibt sich aus P5 dez(x) = (−1)v · 2(( i=0 ai ·2i )−(64·a6 )) −1 X · (1 + bi · 2i ). i=−14 a) Die Speicherbelegung sei nun wie folgt gegeben: 1. Zahl 2. Zahl 3. Zahl Vorzeichen 0 1 0 Exponent 0000000 0011000 1110100 Mantisse 11101000000000 10110000000000 01110001110001 Welche Zahlen wurden im folgenden Speicher abgelegt? Geben Sie den zugehörigen dezimalen Wert an. b) Wie lautet die größte positive Zahl, die in diesem Speicher abgelegt werden kann? Geben Sie den dezimalen Wert an. c) Wie lautet die betragsmäßig kleinste Zahl, die in diesem Speicher abgelegt werden kann und eine Mantisse b ungleich 0 besitzt, d.h. ∃i, so dass bi 6= 0 ? Geben Sie den dezimalen Wert an. Aufgabe 7 (0 Punkte) Eine Zahlendarstellung zur Basis b über der Ziffernmenge D ⊆ 1Z wird dargestellt durch ±(. . . a2 a1 a0 .a−1 a−2 . . .)b mit ai ∈ D und beliebigem i ∈ Z und interpretiert als ±(· · · + a2 · b2 + a1 · b1 + a0 + a−1 · b−1 + a−2 · b−2 + · · ·). Betrachten Sie die Darstellung zur Basis b = 365 und 3 17 zu dieser Basis dar. 1 10 mit D = {0, 1, . . . , 9}. Stellen Sie die Zahlen Aufgabe 8 (0 Punkte) Gegeben sei eine beliebige n-Bit-Darstellung (an−1 , . . . , a2 , a1 , a0 ) in a) einer vorzeichenbehafteten binären Darstellung (ein Bit für das Vorzeichen), b) der Zweikomplement-Darstellung und c) der Einerkomplement-Darstellung 3 einer Zahl x Wie sehen die Darstellungen jeweils aus, wenn die Bitbreite von n auf 2n erweitert wird? Die jeweils dargestellte Zahl x soll unverändert bleiben. Beweisen Sie ihre Konstruktion. Aufgabe 9 (0 Punkte) Gegeben sei die dezimale Zahl −1478. Wandeln Sie diese Zahl in die folgenden Darstellungen mit jeweils 12 Stellen (in der entsprechenden Darstellung) um: Binär mit Betrag-Vorzeichen: Binär im Einserkomplement: Binär im Zweierkomplement: Binär im Zweierkomplement in oktaler Schreibweise: Binär im Zweierkomplement in hexadezimaler Schreibweise: Aufgabe 10 (0 Punkte) Sei α die n-Bit Zweierkomplementdarstellung (ohne Nachkommastellen) einer ganzen Zahl x, auf die folgendes Verfahren angewendet wird: i) Invertiere jede Bitstelle von α. ii) Addiere auf die niederwertigste Bitstelle der so erhaltenen Binärzahl eine Eins. iii) Nenne die so konstruierte Darstellung βα Beweisen Sie formal, dass βα die Zweierkomplementdarstellung der Zahl −x ist. Aufgabe 11 (0 Punkte) Die Zahlendarstellung (· · · a2 a1 a0 .a−1 a−2 · · ·)b zur Basis 3 mit ai ∈ D := {−1, 0, 1} werde durch φ3 (· · · a2 a1 a0 .a−1 a−2 · · ·) = · · · + a2 · 32 + a1 · 31 + a0 + a−1 · 3−1 + a−2 · 3−2 + · · · interpretiert. Die Ziffer −1 werde im Folgenden durch das Symbol 1 ausgedrückt. Bemerken Sie bitte, dass in dieser Zahlendarstellung kein Vorzeichen vorgesehen ist. i) Welche dezimalen Werte werden durch 1101, 1100.11 und 0.1111 . . . dargestellt? ii) Wie lassen sich in dieser ternären Darstellung Zahlen negieren? Beweisen Sie Ihre Aussage. iii) Wie lassen sich in dieser ternären Darstellung Zahlen runden, wenn man nur endliche Darstellungen betrachtet? Unter Runden“ verstehen wir hierbei die Operation, die zu ” einer nicht ganzen Zahl die ganze Zahl ermittelt, die am nächsten liegt. Begründen Sie Ihren Vorschlag. 4 Aufgabe 12 (0 Punkte) Eine Zahlendarstellung zur Basis b über der Ziffernmenge D werde dargestellt durch ±(. . . a2 a1 a0 .a−1 a−2 . . .)b = ±(· · · + a2 · b2 + a1 · b1 + a0 + a−1 · b−1 + a−2 · b−2 + · · ·) mit ai ∈ D und beliebigem i ∈ Z. Für die Konvertierung zwischen binären (b = 2), oktalen (b = 23 ) und hexadezimalen (b = 24 ) Werten soll für beliebige k ∈ N die Beziehung (. . . a2 a1 a0 .a−1 a−2 . . .)b = (. . . A2 A1 A0 .A−1 A−2 . . .)bk mit (∀i ∈ Z) Ai = (ak·i+k−1 . . . ak·i+1 ak·i )b , ausgenutzt werden. i) Was sagt diese Beziehung aus? Zeigen Sie die Korrektheit dieser Beziehung. ii) Wandeln Sie den oktalen Wert 60177756 in den entsprechenden binären, quarternären (b = 22 ) und hexadezimalen Wert um. Aufgabe 13 (0 Punkte) Gegeben sei eine n-stellige Darstellung einer Zahl zur Basis b durch eine Interpretation φ(xn−1 , . . . , x0 ) mit xi ∈ {0, . . . , b − 1}. Berechnen Sie für folgende Darstellungen bei gegebenen b und n den Wert der kleinsten und größten darstellbaren Zahl. Wie würden Sie die jeweilige Darstellung bezeichnen? φ(xn−1 , . . . , x0 ) := n−1 X xi · bi (1) i=0 φ(xn−1 , . . . , x0 ) := (−1)(xn−1 >0) · n−2 X xi · bi (2) i=0 φ(xn−1 , . . . , x0 ) := n−2 X xi · bi − (xn−1 > 0) · bn−1 i=0 Es gilt (xn−1 > 0) = 1 ⇔ xn−1 6= 0. Aufgabe 14 (0 Punkte) Sei x eine Gleitkommazahl einfacher Genauigkeit nach dem Ieee 754 Standard mit Wandeln Sie x in die folgenden Darstellungen mit jeweils zwei Nachkommastellen um. Dezimal mit Betrag-Vorzeichen: 5 (3) Binär mit Betrag-Vorzeichen: Binär im Einerkomplement: Binär im Zweierkomplement: Aufgabe 15 (0 Punkte) Zeigen Sie, dass es im Zweier-Komplement nur eine Darstellung der Zahl 0 gibt, wenn die Anzahl der Stellen vor dem Komma und die Anzahl der Stellen hinter dem Komma fest vorgegeben sind. Aufgabe 16 (0 Punkte) Im alten Ägypten multiplizierten die Weisen des Landes zwei nichtnegative und von Null verschiedene ganze Zahlen a und b, indem sie in einer Iteration die Zahl a mit 2 multiplizierten und die Zahl b durch 2 ganzzahlig dividierten, was sie im Kopf rechnen konnten. Dies taten sie solange, bis der Multiplikator b gleich 1 war. Da gerade Zahlen Unglück brachten — das hatte etwas mit dem Sonnengott zu tun —, wurden die Zwischenergebnisse, in denen der Multiplikator b gerade war, gestrichen. Das Ergebnis konnte durch Aufaddieren aller nicht gestrichenen Multiplikanten a berechnet werden. Beispiel: Multipliziere 5 und 27: a 5 10 20 40 80 b 27 13 6 3 1 gestrichen nein nein ja nein nein Ergebnis: 80 + 40 + 10 + 5 = 135 = 5 · 27. Beweisen Sie (zum Beispiel mittels Induktion), dass der vorgestellte Algorithmus korrekt arbeitet, d. h. zwei positive ganze Zahlen korrekt miteinander multipliziert. Aufgabe 17 (0 Punkte) i) Interpretieren Sie die Bitfolge 0 10000011 01001010000000000000000 als 32-Bit IEEE Gleitkommazahl. Wie lautet die Dezimaldarstellung? ii) Gegeben sind die Zahlen x = 0 10000011 01001010000000000000000 und y = 1 10000001 10100000000000000000000 im 32-Bit IEEE Gleitkommaformat. Führen Sie die Addition von x und y im 32-Bit IEEE Gleitkommaformat aus. 6 iii) Erklären Sie den Sinn der Normierung bei Gleitkommazahlen! Aufgabe 18 (0 Punkte) Gegeben seien die beiden Zahlen x = 19 und y = −6.5. Geben Sie x, y und das Ergebnis von x · y in Gleitkommadarstellung mit einfacher Genauigkeit (Ieee 754 Standard) an. x: y: x·y : Aufgabe 19 (0 Punkte) (n) Die Interpretation φ2 : {0, 1}n → Z bezeichne das Zweierkomplement und die Abbildung (n) φ1 : {0, 1}n → Z das Einerkomplement mit n Bits. Die Anzahl der Nachkommastellen sei Null. Seien x, y, s ∈ {0, 1}n und cn−1 ∈ {0, 1} mit (n) (n) £ ¤ (1) φ2 (x) + φ2 (y) ∈ −2n−1 , 2n−1 − 1 , (2) s = (sn−1 , . . . , s0 ) ist die formale Summe von x und y, (3) cn−1 ist der beim Bilden der formalen Summe von x und y an der (n − 1)¨ ten Stelle entstehende ausgehende Übertrag. Zeigen Sie, dass die Gleichung (n) (n) (n) φ1 (x) + φ1 (y) = φ1 (s) + cn−1 · 20 gilt, d. h dass bei der Addition im Einerkomplement die formale Summe zu bilden ist und dann der ausgehende Übertrag von der höchstwertigsten Stelle an der niederwertigsten Stelle aufaddiert werden muss. (n) (n) (n) Hinweis: Aus der Vorlesung wissen Sie, dass φ2 (x) + φ2 (y) = φ2 (s) gilt. Überlegen Sie (n) (n) sich, wie Sie aus φ2 (s) die Zahl φ1 (z) für alle z ∈ {0, 1}n berechnen können und machen sie dann eine Fallunterscheidung über (xn−1 , yn−1 ) ∈ {0, 1}2 . Aufgabe 20 (0 Punkte) In der Vorlesung wurden bereits einige elementare Hardware-Bausteine vorgestellt. Ein weiterer solcher Baustein ist COMPARE zum Vergleich von Zahlen (d. h. zwei Eingänge für die Operanden a und b sowie zwei Ausgänge für die Resultate von a = b (gleich) und a < b (echt kleiner)). Überlegen Sie sich einen möglichst effizienten Baustein zum Vergleich von zwei Gleitkommadarstellung nach IEEE 754 Standard. Überlegen Sie sich, wie man diesen Vergleich auf den Vergleich von Zahlen in der Zweierkomplementdarstellung zurückführen kann. Aufgabe 21 (0 Punkte) 7 Sei b ∈ N und b ≥ 1 fest gegeben. Dann heißen Zahlen der Form m · be Gleitpunktzahlen zur Basis b, wobei m ∈ R als Mantisse oder Signifikant und e ∈ Z als Exponent bezeichnet wird. Falls b−1 ≤| m |< 1 ist, spricht man von einer normierten Gleitpunktzahl — | m | ist der Absolutbetrag der Zahl m. Sei nun ein x ∈ R \ {0} gegeben. Beweisen Sie, dass x auf genau eine Weise als normierte Gleitpunktzahl x = m·be geschrieben werden kann. 8