Übung 4: Zahlensysteme in „Digitaltechnik“ WS 2008/09 Aufgabe 1 (a) Wie lässt sich allgemein eine n­stellige natürliche Zahl in einem beliebigen Zahlensystem darstellen? Geben Sie jeweils für das duale, dezimale bzw. hexadezimale Zahlensystem die Basis und den Zeichenvorrat an! n −1 ( Z ) B = ∑ Ci Bi = Cn−1B n−1 + Cn−2 B n−2 + ... + C1B1 + C0 B 0 ; C = Faktor i =0 (174 )10 = 1*10 2 B = Basis + 7 *10 + 4 *10 1 Zahlensystem Dezimal Dual Hexadezimal Oktal 0 Basis 10 2 16 8 Zeichenvorrat 0,1,2,3,4,5,6,7,8,9 0,1 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F 0,1,2,3,4,5,6,7 (b) Notieren Sie die folgenden Zahlen in verschiedenen Zahlensystemen: ( 375 )10 → ( N )2 , ( N )16 (375)10 Æ 375 : 2 = 187 187 : 2 = 93 93 : 2 = 46 46 : 2 = 23 23 : 2 = 11 11 : 2 = 5 5 : 2 = 2 2 : 2 = 1 1 : 2 =0 (N)2 Rest 1 Rest 1 Rest 1 Rest 0 Rest 1 Rest 1 Rest 1 Rest 0 Rest 1 (1001011)2 → ( N )10 Dezimal Æ Dual (Binär) (375)10 Æ 163 = 4096 > 375 162 = 256 <375 375 – 1 * 162 = 119 161 = 16 < 119 119 – 7 * 161 = 7 160 = 1 < 7 7 – 7 * 160 = 0 (375)10 Æ (1 (N)16 0 1 7 7 (177)16 Dezimal Æ Hexadezimal 0 1 1 1 0 1 1 1)2 ⎛8 7 6 5 4 3 2 1 0⎞ 28 + 0* 27 + 1* 26 + 1* 25 + 1* 24 ⎜ 1 0 1 1 1 0 1 1 1⎟ = 1* N N N N N ⎝ ⎠ 256 64 32 16 0 3 2 1 0 + 0* + + + 2 1* 2 1* 2 1* 2 N N N N 0 4 2 1 = 256 + 64 + 32 + 16 + 4 + 2 + 1 = 375 Oder!!! (375)10 Æ 375 : 16 = 23 23 : 16 = 1 1 : 16 = 0 (375)10 Æ (N)16 Rest 7 Rest 7 Rest 1 (177)16 (375)10 Æ 375 : 8 = 46 46 : 8 = 5 5 : 8 = 0 (375)10 Æ (N)8 Rest 7 Rest 6 Rest 5 (567)8 (1001011)2 Æ (1 (N)10 Dezimal Æ Hexadezimal Dezimal Æ Oktal Dual Æ Dezimal 0 0 1 0 1 1)2 ⎛6 5 4 3 2 1 0⎞ 26 + 0* 25 + 0* 24 + 1* 23 + 0* 22 + 1* 21 + 1* 20 ⎜1 0 0 1 0 1 1⎟ = 1* N N N N N N N ⎝ ⎠ 64 8 2 1 0 0 0 = 64 + 8 + 2 + 1 = 75 (1001011)2 Æ(75)10 (1001011)2 Æ (1 (N)16 Dual Æ Hexadezimal 0 0 1 0 1 1)2 ⎛ ⎜0 1 0 0 ⎜ ⎝ 4 ⎞ 1 0 1 1⎟ = ( 4 B )16 ⎟ ⎠ B (1001011)2 Æ(4B)16 (1001011)2 Æ (1 (N)8 Dual Æ Oktal 0 0 1 0 1 1)2 ⎛ ⎞ 0 1 0N 0 1 0N 1 1⎟ = (113)8 ⎜⎜ 0N ⎟ 1 3 ⎝ 1 ⎠ (1001011)2 Æ(113)8 (17B)16 Æ 1= 7= B= (N)2 0 0 01 01 11 1 011 Hexadezimal Æ Dual ⇒ (17 B )16 → ( 0001 0111 1011)2 (10011010)2 Æ (N)8 (1 0 0 1 1 0 1 0 )2 ⎛ ⎜1 0 0 1 ⎜ 9 ⎝ ⎞ 1 0 1 0 ⎟ = ( N16 ) = ( 9 A )16 ⎟ A ⎠ Dual Æ Hexadezimal (c) Welcher Wertebereich positiver, ganzer Dualzahlen kann mit einem Datenwort der Länge 4 Bit dargestellt werden? Welchen Wertebereich erhält man, wenn ganze Dualzahlen dargestellt werden sollen? Verallgemeinern Sie auf N Bit lange Datenworte! positive ganze Dualzahlen (4 – Bit) Dual Dezimal größter Wert 1111 15 Kleinster Wert 0000 0 ⎡⎣ 0,1,..., 2 N − 1⎤⎦ N – Bit [0,1,...,14,15] a) Format mit Betrag & Vorzeichen MSB(Most Significant Bit = höchstwertige Bit) 0 +; 1 − Dual Dezimal größter Wert 0111 7 [ −7, −6,..., +6, +7 ] Kleinster Wert 1111 ‐7 b) MSB(Most Significant Bit = höchstwertige Bit) 0 +; 1 − positive Zahlen: Betrag negative Zahlen: Zweierkomplement (ZK) Dual Dezimal Dual Dezimal 0| 111 +7 1| 111 ‐1 0| 110 +6 1| 110 ‐2 0| 101 +5 1| 101 ‐3 0| 100 +4 1| 100 ‐4 0| 011 +3 1| 011 ‐5 0| 010 +2 1| 010 ‐6 0| 001 +1 1| 001 ‐7 0| 000 0 1| 000 ‐8 ( ) ( )⎦ Wertebereich: N – Bit= ⎡ − 2 N −1 ,..., + 2 N −1 − 1 ⎤ ⎣ Eigenschaften des Komplementären Zahlenraums ZK + Z = B N EK + Z = B N − 1 Bildung Einerkomplement (EK) Alle Stellen der Zahl werden invertiert 0 1 0 1 → 1 0 1 0 ( EK ) Bildung des Zweierkomplements (ZK) EK + LSB ZK von 0 1 0 1 N = Bitlänge; B = Basis; Z = Zahl ( LSB = Least Significant Bit ) 01 01 1 01 0 + 0 0 01 ( EK ) ( LSB ) −−−−−−−−−−−−−−−− 1 011 oder : ( ZK ) 01 01 ↓ → 1 01 1 1. Fange bei der rechten Stelle (niedrigstwertiges Bit) an. 2. a. Wenn diese Stelle eine 0 ist, schreibe eine 0 und gehe zu Punkt 3; b. Wenn diese Stelle eine 1 ist, schreibe eine 1 und gehe zu Punkt 4. 3. Gehe ein Zeichen nach links und wiederhole Punkt 2. 4. Invertiere alle restlichen Stellen bis zum höchstwertigen Bit. Aufgabe 2 Führen Sie die folgenden Rechenoperationen durch: a) (1100 0101)2 + (0110 0110)2 Format: positive 8bit­Dualzahlen 11 0 0 01 01 + 1 0 1 1 0 10 1 1 0 _______________________ 0 0 1| 0 0 1 0 1 0 1 1 b) (1101)2 ⋅ (1011)2 Format: positive 4bit­Dualzahlen ⋅ 1________________________ 1 01 1 011 1 1 0 1 0 0 0 0 1 1 0 1 1 1 01 0 0 0 _________________________ 1 1 1 1 0 0 0 1 1 11 c) 1) (00000111)2 − (00000100)2 0 0 0 0 0111 |7 0 0 0 0 01 0 0 0 0 0 0 0 1 0 ←0 0 0 0 0 0 1 ←0 0 |4 0 0 0 0 0 1 0 0 Alles invertieren!!! 0 0 0 0 011 1 ⇒1 1 1 1 1 1 0 0 |7 + 1 1 11 11 0 0 | −4 ____________________________ 1 |0 0 0 0 0 0 1 1 |3 Falsche Überlagerung | −4 2) (00000011)2 − (00000111)2 0 0 0 0 0 011 |3 0 0 0 0 0111 |7 0 0 0 0 0111 | −7 Alles invertieren!!! ⇒1 1 1 1 1 0 0 1 0 0 0 0 0 01 1 |3 + 1 1 11 10 0 1 | −7 ___________________________ | −4 1 1 11 1 1 0 0 3) (01111111)2 − (11111111)2 01111111 |127 11111111 | 255 11111111 ⇒0 0 0 0 0 0 0 1 Alles invertieren!!! 0 1 11 1 1 1 1 |127 0 0 0 0 0 0 0 1 | − ( −1) + 0 0 0 0 0 0 0 ______________________________ 1 1 1 1 1 1 1 | − 128 1 0 00 0 0 0 0 |1