Technische Informatik II Vorlesung 2 fr Bachelor INF
Technische Informatik II Vorlesung 2: (für Bachelor) INF 1211 Zahlendarstellungen und Konvertierungen 08. 04. 2008 , v 14 Themen: 1. Zahlendarstellung 2. Zahlenkonvertierung 3. Zeichendarstellung Quellen: Zum Teil aus den Unterlagen „Digitale Systeme“, Prof. Schimmler. IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211) Seite 1
Polyadische Darstellung von Zahlen (I) N-1 n = Σ bi * B i i=0 =b N-1 B N-1 + b. N-2 BN-2 + ∙ ∙ ∙ + b 1 B 1 + b 0 B 0 heißt B-adische Darstellung von n (Basis=B) bi {0, 1, . . . , B-1} heißen Ziffern Beispiel: B=10, bi {0, 1, . . . , 9} IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211) Seite 2
Polyadische Darstellung von Zahlen (II) Kurzschreibweisen für B-adische Darstellung: (b. N-1 b. N-2. . . b 1 b 0)B oder, wenn klar ist, um welche Basis es sich handelt: b. N-1 b. N-2. . . b 1 b 0 MSB: Most Significant Digit (Bit) LSB: Least Significant Digit (Bit) IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211) Seite 3
B-adische Darstellung Satz: Die N-stellige B-adische Darstellung ermöglicht jede ganze Zahl aus {0, 1, . . . , BN-1} auf genau eine Weise darzustellen. Beispiele: B=2 für N=5 Stellen kann die Ganzzahlen n= 0, 1, 2 …. 31 darstellen 25 -1 B=5 für N=3 Stellen kann die Ganzzahlen n= 0, 1, 2 …. 124 darstellen 53 -1 IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211) Seite 4
Umwandlung von Zahlen zwischen polyadischen Systemen (II) 1. Rechnen im Quellsystem: (x)B (y)B‘ 1. Stelle die Basis B‘ des Zielsystems im Quellsystem dar. 2. q 0=x 3. Wiederhole für aufsteigendes i: qi = qi-1 div B‘ ; ri-1 = qi-1 mod B‘ bis qi=0. 4. Die ri sind die B‘-adische Darstellung von y 5. IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211) Seite 5
Umwandlung von Zahlen zwischen polyadischen Systemen (I) 1. Verfahren der wiederholten Division mit Rest (Basis=B): 2. Umwandlung n = ( b. N-1 b. N-2 …. b 3 b 2 b 1 b 0) B n : B = q 1 Rest b 0 q 1 : B = q 2 Rest b 1 q 2 : B = q 3 Rest b 2 q 3 : B = q 4 Rest b 3 . . q. N-2 : B = q. N-1 Rest b. N-2 q. N-1 : B = 0 Rest b. N-1 IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211) Seite 6
Beispiel: Konvertierung (647)10 ( 101… 11)2 => (647)10 = IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211) Seite 7
Konvertierung Natürlicher Zahlen Hornerschema N-1 n = Σ bi * B i i=0 = b. N-1 BN-1+ b. N-2 BN-2+. . . +b 1 B 1+ b 0 B 0 = ((. . (b. N-1 B+ b. N-2)* B+ b. N-3)* B. . . +b 1)* B+ b 0 IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211) Seite 8
Umwandlung von Zahlen zwischen polyadischen Systemen (III) Abarbeitung des Hornerschemas von links nach rechts: MSB LSB ((. . (b. N-1 B+ b. N-2)* B+ b. N-3)* B. . . +b 1)* B+ b 0 Rechnen im Zielsystem: • • • Umwandeln aller bi ins B‘-adische System Umwandeln von B ins B‘-adische System Ausrechnen im B‘-adischen System IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211) Seite 9
Beispiel: Konvertierung (647)10 MSB ( 101… 11)2 LSB 01002 ) IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211) Seite 10
Umwandlung von Zahlen zwischen polyadischen Systemen (IV) deren Basen Zweierpotenzen sind 1. Umwandeln aller Ziffern ins Binärsystem 2. Umwandeln der Quellzahl ziffernweise in eine Binärzahl 3. Zusammenfassen geeigneter Bits (LSB-first) als jeweils eine Ziffer im Zielsystem. 4. Erzeugen der Ziffern im Zielsystem (LSB = least significant bit, also LSB-first heißt: man beginnt mit dem geringwertigsten Bit) IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211) Seite 11
Beispiel 4 IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211) b=2 b‘=24=16 k=4 Seite 12
Beispiele Binär 2 -adisch 0 1 10 11 100 101 110 111 1000 1001 1010 1011 1100 1101 1110 1111 10000 Ternär 3 -adisch 0 1 2 10 11 12 20 21 22 100 101 102 110 111 112 120 121 Oktal 8 -adisch 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 Dezimal Hexadezimal 10 -adisch 16 -adisch 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211) 0 1 2 3 4 5 6 7 8 9 A B C D E F 10 Seite 13
B-Komplement (I) Definition: Sei n eine natürliche Zahl, dargestellt als Nstellige B-adische Zahl. Das B-Komplement von n ist die N-stellige B-adische Zahl gebildet aus den letzten N Ziffern von BN-n Das B-Komplement wird interpretiert als -n -n (BN – n) IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211) Seite 14
B-Komplement (II) Umwandeln einer B-adischen Zahl ins Negative (B-Komplement): n = (b. N-1 b. N-2. . . b 1 b 0)B (- n)z. K = (b‘N-1 b‘N-2. . . b‘ 1 b‘ 0)B Jede Ziffer bi wird ersetzt durch die Ziffer (B -1 - bi). Auf die so entstehende Gesamtzahl wird 1 addiert. Beispiel: Anwendung für B=2 bi ersetzt durch (B -1 - bi) ( 2 -1 - bi ) Also bi 1 - bi oder bi (also alle Bits werden invertiert). Dann wird 1 zum invertierten Vektor addiert. Also: -n = b. N-1 b. N-2. . . b 1 b 0 + 1 ( -n Entspricht 2 N-n ) IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211) Seite 15
Beispiel: (B=2, N=8 Stellen), n=4 berechnen Sie -4 in 2 -Komplement 1. Vorzeichen ignorieren und ins Binärsystem umrechnen: (4)10 = (00000100)2 2. Invertieren, da negativ: 11111011 3. Eins addieren, da negativ: 11111011 + 00000001 = 11111100 => (11111100)2 = (- 4)10 IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211) Seite 16
Negieren in B-Komplement (III) Beispiel: Hardware-Implementierung 2 -Komplement: Addierer n N N N-fach Inverter + -n in 2 -Komplement entspricht (2 N-n) 1 IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211) Seite 17
Negieren in (B-1)-Komplement Hardwareimplementierung 1 -Komplement: Entspricht (2 -1)-Komplement n N N N-fach Inverter -n in 1 -Komplement entspricht (2 N-1 - n) IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211) Seite 18
B-Komplement, Zahlenbereich Darstellbarer Bereich N-stelliger B-adischer Zahlen im B-Komplement für gerades B { -(B/2) BN-1 , . . , +(B/2)BN-1 -1 } Genau die Zahlen, die mit einer Ziffer ≥ B/2 beginnen, sind negativ. MSB ≥ B/2 IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211) Seite 19
Beispiel: Zahlenbereich für (B=2) { -(2/2) 2 N-1 bis +(2/2)2 N-1 -1 } { - 2 N-1 bis +(2 N-1 -1) } • bei 8 Bit Bereich: − 128(10) bis +127(10) • bei 16 Bit Bereich: − 32768(10) bis +32767(10) • bei 32 Bit Bereich: − 2147483648(10) bis +2147483647(10) • bei 64 Bit Bereich: − 9223372036854775808(10) bis +9223372036854775807(10) • usw. IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211) Seite 20
Beispiel: 4 -stellige Zahl als 2 -Komplement Dezimal 10 -adisch - 24 -1 = - 8 + 24 -1 -1 = 7 -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 Binär 2 -adisch 1000 1001 1010 1011 1100 1101 1110 1111 0000 0001 0010 0011 0100 0101 0110 0111 IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211) negative Zahlen 8 9 10 11 12 13 14 15 Seite 21
bei N=8 Bit, Bereich: − 128(10) bis +127(10) (-1) 1 -Komplement 2 -Komplement IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211) Seite 22
Addition einer positiven und einer negativen Zahl in 2 -Komplement, 5 -bit Zahlen Bereich 13 -5 01101 - 00101 -25 -1 = -16 bis + 25 -1 -1 = +15 13 -5 8 11010 01101 + 11011 01000 = 8 Kein Überlauf (Overflow)! 1 +00001 -5 = 11011 7 -9 00111 - 01001 7 -9 -2 00111 + 10111 11110 = negativ 10110 +00001 -9 = 10111 IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211) 00001 +000010 = 2 Seite 23
Addition zwei Zahlen mit gleichem Vorzeichen in 2 -Komplemnt, 5 -bit Zahlen Bereich Sicherungstelle -25 -1 = -16 bis + 25 -1 -1 = +15 Vorzeichen 11 10 21 0 01010 0 10101 Regel: Es gibt einen Überlauf falls das Vorzeichenbit und die Sicherungsstelle ungleich sind! Negative! =-11 => falsch! ungleich !!! ==> Überlauf! 11 03 14 0 01011 0 00011 0 01110 gleich !!! ==> kein Überlauf! -11 - 7 -18 0 10101 0 11001 1 01110 ungleich !!! ==> Überlauf! IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211) -11 - 3 -14 0 10101 0 11101 1 10010 gleich !!! ==> kein Überlauf! Seite 24
Beispiele 8 -Bit-Zahlen in 2 -Komplement Bereich -28 -1 = -128 bis + 28 -1 -1 = +127 0 unterschiedliche Vorzeichen => immer überlaufsfrei ungleich! Überlauf 1 1 gleich! korrekt ungleich Überlauf IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211) Seite 25
Multiplikation B-adischer Zahlen Beispiel 1: Beispiel 2: IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211) Seite 26
Rationale Zahlen als Festkomma Zahlen IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211) Seite 27
Hornerschema für Brüche 0, b-1 b-2 -1 n=Σ i=-M ……. b-M Beispiel: (0, 3475)10 (0, 1011010)2 bi * B i = b-1 B-1+ b-2 B-2+. . . +b-M+1 B-M+1+ b-MB-M = ((. . (b-MB-1+ b-M+1)*B-1+ b-M-2)*B-1. . . +b-1)*B-1 IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211) Seite 28
Umwandlung von Zahlen zwischen polyadischen Systemen Verfahren der wiederholten Multiplikation mit Abschneiden: . . . . Beispiel: S. Übung IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211) Seite 29
Gleitkommazahlen haben den Vorteil, dass sie einen viel größeren Zahlenbereich abdecken als gleichlange Festkommazahlen. Ferner bieten Sie in der Nähe der Null eine wesentlich höhere Genauigkeit. IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211) Seite 30
Gleitkommazahlen IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211) Seite 31
Gleitkommazahlen, Vorzeichen, Exponent und Mantisse IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211) Seite 32
Normierte Gleitkommazahlen IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211) Seite 33
Multiplikation von Gleitkommazahlen N 1 = V 1 * 0, M 1 * 2 E 1 N 2 = V 2 * 0, M 2 * 2 E 2 N 1 * N 2 = (V 1*V 2) * 0, (M 1*M 2) * 2 E 1+E 2 IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211) Seite 34
Addition von Gleitkommazahlen N 1 = V 1 * 0, M 1 * 2 E 1 N 2 = V 2 * 0, M 2 * 2 E 2 1. Exponentendifferenz berechnen (z. B. E 1>E 2). d=E 1 -E 2 2. Verschieben der Mantisse M 2 um d Stellen nach rechts. M‘ 2=M 2 >> d 3. Addition der Mantissen M 1 und M‘ 2 4. Berechnung des Vorzeichens des Ergebnisses 5. Normalisierung 6. N 1+N 2 = (V)*0, (M 1+M‘ 2) * 2 E 1 IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211) Seite 35
Standard Gleitkommazahlen IEEE 754 Format 32 -Bit (float, single) 1 Vorzeichenbit 8 Exponentenbits (MSB first) 23 Mantissenbits (MSB first) Darstellbarer Bereich ca. [-1041. . +1041] IEEE 754 Format 64 -Bit (double) 1 Vorzeichenbit 11 Exponentenbits (MSB first) 52 Mantissenbits (MSB first) Darstellbarer Bereich ca. [-10300. . +10300] IEEE 754 Format 80 -Bit (extended) 1 Vorzeichenbit 15 Exponentenbits (MSB first) 64 Mantissenbits (MSB first) Darstellbarer Bereich ca. [-105000. . +105000] IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211) Seite 36
Restklassensystem (Chinese Remainder Theorem CRT) Definition: Ein Restklassensystem ist ein Zahlensystem, das durch eine Menge von Moduli bestimmt ist. Diese Moduli sind natürliche Zahlen, die paarweise teilerfremd sind. Sei {p 1, p 2, . . . , pk} die Menge der Moduli und P = p 1 p 2. . . pk das Produkt aller pi. Dann sind im zugehörigen Restklassensystem alle Zahlen von 0 bis P-1 eindeutig durch die Reste bei der Division durch die pi charakterisiert. IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211) Seite 37
Beispiel: Restklassensystem (CRT) Moduli: 7 und 9, Produkt P=7 • 9=63 Darstellbare Bereich 0 bis (P-1), also 0 bis 62 N 1 = 10 N 2 = 4 entspricht 3 1 4 4 N 1 + N 2 = (3+4) mod 7, (1+4) mod 9 = { 0 , 5 } N 1 x N 2 = (3 x 4) mod 7, (1 x 4) mod 9 = { 5 , 4 } Inverse Chinese Remainder Theorem ICRT: N 1 + N 2 = { 0 , 5 } = 0. 9. 4 + 5. 7. 4 = 140 mod 63 = 14 N 1 x N 2 = { 5 , 4 } = 5. 9. 4 + 4. 7. 4 = 292 mod 63 = 40 Vorteil: Arithmetik mit kleinen Zahlen Nachteil: Rückwandlung etwas schwerer IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211) Seite 38
Codierung der Dezimalziffern Dezimalziffer 0 1 2 3 4 5 6 7 8 9 Gewichte Binär BCD 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 8421 Aiken 0000 0001 0010 0011 0100 1011 1100 1101 1110 1111 2421 3 -Excess 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 keine IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211) 2 aus 5 11000 00011 00101 00110 01001 01010 01100 10001 10010 10100 74210 Seite 39
EBCDIC (Extenden Binary Coded Decimal Interchange Code) 0 1 2 3 4 5 6 7 8 9 A B C D E F 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 l 0 0000 1 0001 2 0010 3 0011 4 0100 blank § . < ( + 5 0101 ! $ ● ) ; 6 0110 & - ^ , % 7 0111 : # @ 8 1000 A b c d e f g h i 9 1001 J k l m n o p q r A 1010 s t u v w x y z B 1011 C 1100 A B C D E F G H I D 1101 J K L M N O P Q R E 1110 S T U V W X Y Z F 1111 2 3 4 5 6 7 8 9 0 / 1 IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211) ‛ > ? * “ Seite 40
ASCII (American Standard Code for Information Interchange) 000 001 010 011 100 101 110 111 0 0000 NUL 0000 DLE SP 0000 0 @ 0000 P ‘ p 1 0001 SOH 0001 DC 1 ! 0001 1 A 0001 Q a q 2 0010 STX 0010 DC 2 “ 0010 2 B 0010 R b r 3 0011 ETX 0011 DC 3 # 0011 3 C 0011 S c s 4 0100 EOT 0100 DC 4 $ 0100 4 D 0100 T d t 5 0101 ENQ 0101 NAK % 0101 5 E 0101 U e u 6 0110 ACK 0110 SYN & 0110 6 F 0110 V f v 7 0111 BEL 0111 ETB ´ 0111 7 G 0111 W g w 8 1000 BS 1000 CAN ( 1000 8 H 1000 X h x 9 1001 SKIP 1001 EM ) 1001 9 I 1001 Y i y A 1010 LF 1010 SUB * 1010 : J 1010 Z j z B 1011 VT 1011 ESC + 1011 ; K 1011 [ k { C 1100 FF 1100 FS , 1100 < L 1100 l | D 1101 CR 1101 GS - 1101 = M 1101 ] m } E 1110 SO HOME 1110 > N 1110 n ~ F 1111 SI 1111 NL / 1111 ? O 1111 _ o DEL IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211) Seite 41
Frage: Warum werden Kindern im Orient bei 1 x 1 Prüfung die Hände gebunden? IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211) Seite 42
Modulo 5 Reduzierte Multiplikations-Algorithmus Warum werden Kindern im Orient bei 1 x 1 Prüfung die Hände gebunden? 5+1+1+1 5+1 3 x 2=6 2 x 4=8 + + 2 + 3 = 5 x 10 = 50 56 3 + 1 IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211) = 4 x 10 = 40 48 Seite 43
Quiz: Für A x B Fünf- Finger Multiplikationsalgorithmus A und B sind je grösser als 5. 1. Zeichnen Sie den Multiplikations-graphen mit Hardwareeinheiten 2. Beweisen Sie die Richtigkeit des Algorithmus 3. Wie funktioniert der Algorithmus falls A und B kleinere Werte als 5 annehmen? IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211) Seite 44
- Slides: 44