Zahlen und Zeichen () Fragen: Wie werden Zahlen repräsentiert und konvertiert? Wie werden negative Zahlen und Brüche repräsentiert? Wie werden die Grundrechenarten ausgeführt? Was ist, wenn das Ergebnis einer Operation größer ist als die größte darzustellende Zahl? Hauptunterschied zwischen Computer- und menschlicher Arithmetik: Genauigkeit der sowie Platzbedarf für die Darstellung von Zahlen sind beim Computer endlich und begrenzt. Computer arbeiten mit einer anderen Zahlendarstellung Rechner speichern die Information (Zahlen) in Einheiten festgesetzter Bitlänge, genannt Worte.
Zahlen und Zeichen (2) Mikroprozessor Wortlänge (Bits 885, Z8, 689 8 886, 68 6 8386, 682 32 Pentium, PowerPC 32 (Sun SPARC, IBM AIX) typischer Mikrocontroller (4), 8, 6, (32) Cray- Supercomputer, Intel Itanium, AMD Opteron 64
Zahlen und Zeichen (3) Beispiel für Zahlendarstellung mit unterschiedlichen Basen: binär 2 + 2 9 + 2 8 + 2 7 + 2 6 + 2 5 + 2 4 + 2 3 + 2 2 + 2 + 2 24 + 52 + 256 + 28 + 64 + + 6 + + + + oktal 3 7 2 3 8 3 + 7 8 2 + 2 8 + 8 536 + 448 + 6 + dezimal 2 2 3 + 2 + + 2 + + + hexadezimal 7 D 7 6 2 + 3 6 + 6 792 + 28 +
Zahlen und Zeichen (4) Kollektion von Zahlendarstellungen mit den 4 verschiedenen Basen: dezimal binär oktal hexadezimal 2 3 7 8 2 5 6 2 5 6 8 2989 2 3 7 2 3 4 7 2 24 62 74 2 44 75 5655 2 3 7 8 A B C F 4 32 3C 5 64 3E8 BAD
Zahlen und Zeichen (5) Tabelle für Umwandlung binär - hexadezimal: Beispiel für Konversion einer Dezimalzahl in eine Binärzahl: Hexadezimal 2 3 4 5 6 7 binär Hexadezimal 8 9 a b c d e f binär Quotient 492 746 373 86 93 46 23 5 2 Rest
Zahlen und Zeichen (6) Vorzeichenbehaftete Zahlen: die Komplement - Darstellung Komplement: Ergänzung Der negative Wert einer Zahl ist in der Zahl selbst enthalten Das Vorzeichenbit ist Teil des Summanden und wird somit in eine arithmetische Operation mit eingeschlossen Subtraktion wird auf die Addition zurückgeführt Keine Notwendigkeit für ein zusätzliches Subtrahierwerk
Zahlen und Zeichen (7) Vorzeichenbehaftete Zahlen: das Einer - Komplement n b- - Komplement: + = n = Länge der Darstellung von z b = Basis z z b Das Einer - Komplement -N einer binären Zahl N aus [, 2 n- -] erreicht man durch bitweises Invertieren von N -N aus [-, -2 n- -] -N = 2 n - N - Subtraktion:= Addition + end-around-carry, d.h. zu der Summe wird das linke Bit der Summe aufaddiert. Vorteil: zusätzliches Subtrahierwerk überflüssig Nachteile: keine eindeutige Darstellung der Null (+, -) kein echtes Komplement, da -x + x =
Zahlen und Zeichen (8) Vorzeichenbehaftete Zahlen: das Zweier - Komplement b - Komplement: z + z = n b n = Länge der Darstellung von z b = Basis Das Zweier - Komplement ist ein echtes Komplement -N = 2 n - N -N = Einer - Komplement + -N = (bitweises Invertieren von N ) + -N aus [-, -2 n- ] Es gibt eine eindeutige Darstellung der Null Der Wertebereich des Zweier - Komplements ist [-2 n-, 2 n- -]
Zahlen und Zeichen (9) Visualisierung des Zweier - Komplements sowie der Addition -2-3 - + +2 +3-4 +4-5 +5-6 +6-7 -8 +7
Zahlen und Zeichen () Einfache Additions- (Subtraktions-) Regeln x+y: x-y: Addition der entsprechenden 2er - Komplemente ergibt korrekte Summe im 2er - Komplement, solange der Wertebereich nicht überschritten wird. Bilde das 2er - Komplement von y und führe Addition wie oben aus. Konsequenz: Die logische Einfachheit und die daraus resultierende Geschwindigkeit (arithm. Operation erfolgt immer in einem Schritt) führt dazu, dass das Zweier - Komplement in den ALU s moderner Rechner eingesetzt wird.
Zahlen und Zeichen () Kriterien für die Qualität der Zahlendarstellung: Größe des darstellbaren Zahlenbereichs (range) Genauigkeit (precision) der Zahlendarstellung Diese beiden Kriterien sind prinzipiell unabhängig voneinander. Wissenschaftliche Notation: n = a x r E a - Mantisse (Argument) r - Radix (Basis) E - Exponent (Charakteristik) Floating point - Zahlen in normierter Form: n = (-) s a 2 E mit s als Vorzeichenbit und a < 2 Parameter für mögliche Darstellungen von Floating point - Zahlen: Anzahl der insgesamt verfügbaren Bits (Worte) jeweils für Mantisse bzw. Exponent: Darstellung Anzahl der verfügbaren Bits (Trade-off!) Lokalisierung
Zahlen und Zeichen (2) Darstellung im IEEE Standard 754: Einfache Genauigkeit: 32 Bits S E M Vorzeichen der Zahl = + = - 8 Bit vorzeichenbehafteter Exponent Excess-27 Darstellung 23 Bit Mantisse Darstellung entspricht: ±,M 2 E -27 Beispiel mit Einfacher Genauigkeit: Doppelte Genauigkeit: Darstellung entspricht:,... 2-87 64 Bits S E M Vorzeichen Bit Excess-23 Exponent 52 Bit Mantisse Darstellung entspricht: ±,M 2 E -23
Zahlen und Zeichen (3) Truncation: Kappung überzähliger Bits durch chopping von Neuman - Runden runden Kappung überzähliger Bits - Chopping Prinzip Abschneiden der zu rundenden Stellen Beispiel:, b b 2 b 3 b 4 b 5 b 6 Rundung auf 3 Nachkommastellen, b b 2 b 3 b 4 b 5 b 6, b b 2 b 3 Fehler: Zwischen e < der letzten verbleibenden Stelle (hier b 3 ) unsymmetrischer Fehler
Zahlen und Zeichen (4) Kappung überzähliger Bits Von-Neumann-Runden Prinzip Wenn zu rundende Stellen ungleich letzte verbleibende Stelle = Wenn alle zu rundende Stellen gleich letzte verbleibende Stelle = Beispiel:, b b 2 b 3 b 4 b 5 b 6 Rundung auf 3 Nachkommastellen a), b b 2 b 3, b b 2 b), b b 2 b 3, b b 2 Fehler - < e < + der letzten verbleibenden Stelle, (hier b 3 ) symmetrischer Fehler
Zahlen und Zeichen (5) Kappung überzähliger Bits Runden Prinzip Unverzerrte oder mathematische Rundung Runden zur nächstgelegenen gekürzten Darstellung Falls eindeutige Bestimmung der nächstgelegenen gekürzten Darstellung nicht möglich, d.h. erste zu rundende Stelle = und alle anderen zu rundenden Stellen = Runden zur nächsten geraden Zahl Beispiel:, b b 2 b 3 b 4 b 5 b 6 Rundung auf 3 Nachkommastellen a), b b 2 b 3, b b 2 b 3 +,, b b 2 b 3, b b 2 b 3 b), b b 2 b 3 Fallunterscheidung b ) falls b 3 =, b b 2 b 2 ) falls b 3 =, b b 2 +, Fehler: -,5 < e < +,5 der letzten verbleibenden Stelle (hier b 3 ) symmetrischer Fehler
Zahlen und Zeichen (6) ASCII (bzw, ISO 7-bit) Zeichencode DEZ HEX Zeichen DEZ HEX Zeichen DEZ HEX Zeichen DEZ HEX Zeichen NUL 32 2 SP 64 4 @ 96 6 ` SOH 33 2! 65 4 A 97 6 a 2 2 STX 34 22 " 66 42 B 98 62 b 3 3 ETX 35 23 # 67 43 C 99 63 c 4 4 EOT 36 24 $ 68 44 D 64 d 5 5 ENQ 37 25 % 69 45 E 65 e 6 6 ACK 38 26 & 7 46 F 2 66 f 7 7 BEL 39 27 ' 7 47 G 3 67 g 8 8 BS 4 28 ( 72 48 H 4 68 h 9 9 HT 4 29 ) 73 49 I 5 69 i A LF 42 2A * 74 4A J 6 6A j B VT 43 2B + 75 4B K 7 6B k 2 C FF 44 2C, 76 4C L 8 6C l 3 D CR 45 2D - 77 4D M 9 6D m 4 E SO 46 2E. 78 4E N 6E n 5 F SI 47 2F / 79 4F O 6F o 6 DLE 48 3 8 5 P 2 7 p 7 DC 49 3 8 5 Q 3 7 q 8 2 DC2 5 32 2 82 52 R 4 72 r 9 3 DC3 5 33 3 83 53 S 5 73 s 2 4 DC4 52 34 4 84 54 T 6 74 t 2 5 NAK 53 35 5 85 55 U 7 75 u 22 6 SYN 54 36 6 86 56 V 8 76 v 23 7 ETB 55 37 7 87 57 W 9 77 w 24 8 CAN 56 38 8 88 58 X 2 78 x 25 9 EM 57 39 9 89 59 Y 2 79 y 26 A SUB 58 3A : 9 5A Z 22 7A z 27 B ESC 59 3B ; 9 5B [ 23 7B { 28 C FS 6 3C < 92 5C \ 24 7C 29 D GS 6 3D = 93 5D ] 25 7D } 3 E RS 62 3E > 94 5E ^ 26 7E ~ 3 F US 63 3F? 95 5F _ 27 7F DEL
Zahlen und Zeichen (7) Erweiterungen des ASCII-Codes: ISO 646 (Latin-) ISO 8859 (code pages) ISO 8859- (Latin-, Westeuropa) ISO 8859-2 (Latin-2, Zentral- und Osteuropa, slawische Sprachen) ISO 8859-3 (Latin-3, Südeuropa, z.b. türkisch, maltesisch, Esperanto) ISO 8859-4 (Latin-4, Nordeuropa, z.b. baltische Sprachen) ISO 8859-5 (Kyrillisch, z.b. Bulgarisch, Russisch, Serbisch)... ISO 646 (Unicode)
Zahlen und Zeichen (8) Unicode 65,536 code points enthält Latin- als Untermenge (336 code points) weitere Sprachenbeispiele: griechisch (44), kyrillisch (256), armenisch (96), hebräisch (2) code points für Sonderzeichen: z.b. Indizes (48), Währungssymbole (48), math. Symbole (256) Symbole für chinesisch, japanisch, koreanisch 6,4 code points frei definierbar für den lokalen Gebrauch steigende Akzeptanz, wird schon unterstützt von einigen Programmiersprachen (Java) und Betriebssystemen (Windows NT Windows 8, Linux, Mac OSX)
Zahlen und Zeichen (9) Beispiele für kodierte Information in einem 32-Bit Wort