Kapitel 4 Zeichen und Zahlen … da schrieb er auf die Tafeln, wie die erste Schrift war Mose 10.4 Auch wenn Objekte der realen Welt beliebig komplex in Zusammensetzung und Struktur sind, so werden sie meist auf zwei einfache Repräsentationen - als Abstraktion - abgebildet: Zeichen und Zahlen. Dieses Kapitel beschreibt, wie diese Objekte in eine für den Rechner verarbeitbare Form kodiert werden können. Inhalt 1. Kodierung von Zeichen 2. Darstellung von Zahlen 4.1 Kodierung von Zeichen Die Wurzeln der Informationscodierung in der Menschheitsgeschichte liegt in der Entwicklung der Schrift. Menschen haben dabei versucht, mündliche Erzählung in Form von Bild-, Silben- oder Buchstabenschriften dauerhaft zu „codieren“. Dabei kommt der Buchstabenschrift im westlichen Kulturbereich eine besondere Bedeutung zu und wird durch Schriftzeichen aus aller Welt zunehmend ergänzt. Diese Entwicklung spiegelt sich auch in folgenden Unterkapiteln wider. Inhalt ASCII EBCDIC UNICODE 4.1.1 ASCII -Tabelle (7Bit) American Standard Code for Information Interchange @ NUL 000 T DC4 020 ( 040 < 060 P 080 d 100 x 120 A SOH 001 U NAK 021 ) 041 = 061 Q 081 e 101 y 121 B STX 002 V SYN 022 * 042 > 062 R 082 f 102 z 122 C ETX 003 W ETB 023 + 043 ? 063 S 083 g 103 { 123 D EOT 004 X CAN 024 , 044 @ 064 T 084 h 104 _| 124 E ENQ 005 Y EM 025 - 045 A 065 U 085 i 105 } 125 F ACK 006 Z SUB 026 . 046 B 066 V 086 j 106 ~ 126 G BEL 007 [ ESC 027 / 047 C 067 W 087 k 107 H BS 008 \ FS 028 0 048 D 068 X 088 l 108 I HT 009 ] GS 029 1 049 E 069 Y 089 m 109 J LF 010 ^ RS 030 2 050 F 070 Z 090 n 110 K VT 011 _ US 031 3 051 G 071 [ 091 o 111 L FF 012 SP 032 4 052 H 072 \ 092 p 112 M CR 013 ! 033 5 053 I 073 ] 093 q 113 N SO 014 " 034 6 054 J 074 ^ 094 r 114 O SI 015 # 035 7 055 K 075 _ 095 s 115 P DLE 016 $ 036 8 056 L 076 ` 096 t 116 Q DC1 017 % 037 9 057 M 077 a 097 u 117 R DC2 018 & 038 : 058 N 078 b 098 v 118 S DC3 019 ' 039 ; 059 O 079 c 099 w 119 DEL 127 4.1.1 ASCII - Sonderzeichen Bedeutung der Sonderzeichen im ASCII-Code @ A B C D E F G H I J K L M N O P Q NUL SOH STX ETX EOT ENQ ACK BEL BS HT LF VT FF CR SO SI DLE DC1 Null, or all zeros StartHeading StartText EndText EndTransmission Enquiry Acknowledge Bell Backspace HorizontalTab LineFeed VerticalTab FormFeed CarriageReturn ShiftOut ShiftIn DataLinkEscape DeviceControl1(XON) R S T U V W X Y Z [ \ ] ^ _ DC2 DC3 DC4 NAK SYM ETB CAN EM SUB ESC FS GS RS US SP DeviceControl2 DeviceControl3(XOFF) DeviceControl4 Neg.Acknowledge SynchronousIdle EndTrans.Block Cancel EndofMedium Substitute Escape FileSeparator GroupSeparator RecordSeparator UnitSeparator Space ? DEL Delete 4.1.2 EBCDIC - Tabelle Extended Binary Coded Decimals Interchange Code nul soh stx etx pf ht lc del ge rlf smm vt ff cr so si dle dc1 dc2 tm res nl bs il can em 00 001 002 003 004 005 006 007 008 009 00a 00b 00c 00d 00e 00f 010 011 012 013 014 015 016 017 018 019 cc cu1 ifs igs irs ius ds sos fs 01a 01b 01c 01d 01e 01f 020 021 022 023 byp 024 lf 025 etb 026 esc 027 028 029 sm 02a cu2 02b 02c enq 02d ack 2e bel 2f 030 031 syn 032 033 pn rs uc eot cu3 dc4 nak sub Sp ¢ . > ( 034 035 036 037 038 039 03a 03b 03c 03d 03e 03f 040 041 042 043 044 045 046 047 048 049 04a 04b 04c 04d + | & ! $ * ) ; / 04e 04f 050 051 052 053 054 055 056 057 058 059 05a 05b 05c 5d 5e 5f 060 061 062 063 064 065 066 067 068 069 | 06a , 06b % 06c 06d < 06e ? 06f 070 071 072 073 074 075 076 077 078 ` 079 : 07a # 07b @ 07c ' 07d = 07e " 07f 080 a 081 b c d e f g h i j k l m n o p q r 082 083 084 085 086 087 088 089 08a 08b 08c 08d 08e 08f 090 091 092 093 094 095 096 097 098 099 09a 09b ~ s t u v w x y z 09c 09d 09e 09f 0a0 0a1 0a2 0a3 0a4 0a5 0a6 0a7 0a8 0a9 0aa 0ab 0ac 0ad 0ae 0af 0b0 0b1 0b2 0b3 0b4 0b5 { A B C D E F G H I 0b6 0b7 0b8 0b9 0ba 0bb 0bc 0bd 0be 0bf 0c0 0c1 0c2 0c3 0c4 0c5 0c6 0c7 0c8 0c9 0ca 0cb 0cc 0cd 0ce 0cf } J K L M N O P Q R 0d0 0d1 0d2 0d3 0d4 0d5 0d6 0d7 0d8 0d9 0da 0db 0dc 0dd 0de 0df \ 0e0 0e1 S 0e2 T 0e3 U 0e4 V 0e5 W 0e6 X 0e7 Y 0e8 Z 0e9 0ea 0eb 0ec 0ed 0ee 0eF 0 0f0 1 0f1 2 0f2 3 0f3 4 0f4 5 0f5 6 0f6 7 0f7 8 0f8 9 0f9 | 0fa 0fb 0fc 0fd 0fe eo 0ff 4.1.2 EBCDIC - Sonderzeichen Die Bedeutung der Sonderzeichen Char Description Char Description Char Description ACK Acknowledge EOT End of Transmission PN Punch On BEL Bell ESC Escape RES Restore BS Backspace ETB End of Transmission Block RS Reader Stop BYP Bypass ETX End of Text SI Shift in CAN Cancel FF Form Feed SM Set Mode CC Cursor Control FS Field Separator SMM Start of Manual Message CR Carriage Return HT Horizontal Tab SO Shift Out CU1 Customer Use 1 IFS Interchange File Separator SOH Start of Heading CU2 Customer Use 2 IGS Interchange Group Separator SOS Start of Significance CU3 Customer Use 3 IL Idle SP Space DC1 Device Control 1 IRS Interchange Record Separator STX Start of Text DC2 Device Control 2 IUS Interchange Unit Separator SUB Substitute DC4 Device Control 4 LC Lower Case SYN Synchronous Idle DEL Delete LF Line Feed TM Tape Mark DLE Data Link Escape NAK Negative Acknowledge UC Upper Case DS Digit Select NL New Line VT Vertical Tab EM End of Medium NUL Null ENQ Enquiry PF Punch Off 4.1.3 Unicode Aktuelle Version 5.0.0 (siehe auch www.unicode.org) Buchstaben und Symbole aus allen wichtigen geschriebenen Sprachen der Welt Amerika, Europa, Mittlerer Osten, Afrika, Indien, Asien, Pazifik Symbole Satzzeichen Sonderzeichen Wird genormt in ISO/IEC 10646 Kompatibilität mit ASCII 0000 - 007F: identisch mit 7-bit ASCII 007F - 00FF: Latin-1 Supplement (nationale Sonderbuchstaben) 2500 - 25FF: Blockgraphikzeichen (Box Drawing: ╘╚╞╬└┴├...) 4.1.3 Unicode (www.wikipedia.org, Dez-3-06) Unicode reserves 1,114,112 (= 220 + 216 or 17 × 216, hexadecimal 110000) code points. As of Unicode 5.0.0, 101,063 (9.1%) of these codepoints are assigned, with another 137,468 (12.3%) reserved for private use, leaving 875,441 (78.6%) unassigned. The number of assigned code points is made up as follows: The first 256 codes correspond with those of ISO 8859-1, the most popular 8-bit character encoding in the Western world. As a result, the first 128 characters are also identical to ASCII. The Unicode code space for characters is divided into 17 planes, each with 65,536 (= 216) code points, although currently only a few planes are used: 98,884 graphemes 140 formatting characters 65 control characters 2,048 surrogate characters Plane 0 Plane 1 Plane 2 Planes 3 to 13 Plane 14 Plane 15 Plane 16 (0000–FFFF): (10000–1FFFF): (20000–2FFFF): (30000–DFFFF) (E0000–EFFFF): (F0000–FFFFF) (100000–10FFFF) Basic Multilingual Plane (BMP) Supplementary Multilingual Plane (SMP) Supplementary Ideographic Plane (SIP) unassigned Supplementary Special-purpose Plane (SSP) Private Use Area (PUA) Private Use Area (PUA) The cap of 220 code points (excluding Plane 16) exists in order to maintain compatibility with the UTF16 encoding, which addresses only that range. Currently, about ten percent of the Unicode code space is used. Furthermore, ranges of characters have been tentatively blocked out for every known unencoded script, and while Unicode may need another plane for ideographic characters, there are ten planes available if previously unknown scripts with tens of thousands of characters are discovered. This 20 bit limit is unlikely to be reached in the near future. 4.1.3 Unicode: Beispiele 05F1 FA0E 2603 20AC xxD0 - xxDF 4.1.3 Unicode Bereiche Black = Latin scripts and symbols Light Blue = Linguistic scripts Blue = Other European scripts Orange = Middle Eastern and SW Asian scripts Light Orange = African scripts Green = South Asian scripts Purple = Southeast Asian scripts Red = East Asian scripts Light Red = Unified CJK Han Yellow = Aboriginal scripts Magenta = Symbols Dark Grey = Diacritics Light Grey = UTF-16 surrogates and private use Cyan = Miscellaneous characters White = Unused 4.2 Darstellung von Zahlen Die Darstellung von Zahlen spielt in der Informatik nach wie vor eine wichtige Rolle. Dabei gibt es unterschiedliche Mengen von Zahlen und auch unterschiedliche Operationen auf Zahlen. Dieses Unterkapitel beschreibt die Grundlagen der Zahlenkodierung, gibt für alle Mengen von Zahlen eine konkrete Kodierung an und führt in die Computerarithmetik ein. Inhalt 1. 2. 3. 4. 5. 6. 7. 8. Zahlensysteme Konvertierung Arithmetik Ganze positive Zahlen Ganze negative Zahlen Gebrochene Zahlen Gleitpunktzahlen Standards 4.2.1 Zahlensysteme Nicht systematische Zahlendarstellungen, z.B.: Strichliste: I, II, III, IIII, IIII, IIII I, ... römische Zahlen: MIM, IX, .... Systematische Zahlendarstellungen in einem Stellenwertsystem Jede Zahl N lässt sich als Sequenz von Zeichen a i darstellen Die Anzahl der notwendigen unterscheidbaren Zeichen ist B N=Sai* Bi Im Dezimalsystem ist B = 10 und die unterscheidbaren Zeichen sind: 0,1,2,3,4,5,6,7,8,9 Im Binärsystem ist B = 2 und die unterscheidbaren Zeichen sind: 0,1 4.2.1 Zahlensysteme - Beispiele Dezimalsystem: (Basis 10) 199910 = 1*103 + 9*102 + 9*101 + 9*100 Binärsystem: (Basis 2) 199910 = 1*210+1*29+1*28+1*27+1*26+1*23+1*22+1*21+1*20 111110011112 Hexadezimalsystem (Sedezimalsystem) (Basis 16) Zeichen: 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F 199910 = 7*162 + 12*161 + 15*160 = 7CF16 = 0x07CF = H‘07CF 4 Zeichen einer Binärzahl lassen sich durch eine Hexadezimalziffer darstellen (4 Binärziffern nennt man auch NIBBLE) Oktalsystem (Basis 8) Zeichen: 0,1,2,3,4,5,6,7 199910 = 3*83 + 7*82 + 1*81 + 7*80 = 37178 3 Zeichen einer Binärzahl lassen sich durch eine Oktalziffer darstellen 4.2.2 Konvertierung: „Intuitivmethode“ Addition von geeigneten Zweierpotenzen (Dezimalzahl Dualzahl) positive Zweierpotenzen für Vorkommaanteil negative Zweierpotenzen für Nachkommaanteil Vorgehen (getrennt nach Vor- und Nachkommateil) Suche größte Zweierpotenz, die noch in die Zahl passt Subtrahiere die Zweipotenz von der Zahl daraus ergibt sich die neue Zahl für die Suche der Zweierpotenz Dieses Vorgehen terminiert ... ... beim Vorkommateil: wenn die Zahl = 0 ... beim Nachkommateil: wenn die Zahl erreicht ist, vielleicht nie Beispiel: 39 7 3 1 25 39 - 32 = 7 22 7-4 =3 21 3-2 =1 20 1-1 =0 0,8125 0,3125 0,0625 2-1 0,8125 - 0,5 = 0,3125 2-2 0,3125 - 0,25 = 0,0625 2-4 0,0625 - 0,0625 = 0 0,1101 100111 39,0812510=100111,011012 4.2.2 Konvertierung: Restwertmethode Erzeugen des Hornerschemas (Ausklammern der Basis b) c0 = anbn + an-1bn-1 + ... + a2b2 +a1b1 + a0b0 c0 = (( ... (anb + an-1) b + ... + a2) b +a1) b + a0 c1 c0 / b = c1 Rest a0 , mit c1= ( ... (anb + an-1) b + ... + a2) b +a1 , c1 / b = c2 Rest a1 , mit c2= ... (anb + an-1) b + ... + a2 , ... cn / b = 0 Rest an ( terminiert mit cn+1 = 0 ) Konversion der Nachkommastellen (folgt aus Hornerschema): 1. Multiplikation mit Basis (bis ganzzahliges Ergebnis oder gewünschte Genauigkeit) 2. Abspalten der Vorkommastelle des Ergebnisses, weiter mit 1. Beispiel 19 : 2 = 9:2= 4:2= 2:2= 1:2= 9 4 2 1 0 Rest 1 Rest 1 Rest 0 Rest 0 Rest 1 10011 0,6875 * 2 = 0,375 * 2 = 0,75 * 2 = 0,5 * 2 = 1,375 0,75 1,5 1 1 abspalten 0 abspalten 1 abspalten 1 abspalten 0,1011 4.2.2 Arithmetik Addition Subtraktion Multiplikation Division 0 0 1 1 + + + + 0 1 0 1 = = = = 0 1 1 0 Übertrag 1 1011 + 1110 0 0 1 1 - 0 1 0 1 = = = = 0 1 Übertrag 1 1 0 1101 - 1010 0 0 1 1 * * * * 0 1 0 1 = = = = 0 0 0 1 1101 * 11 1101 + 1101 100111 : 11 = 01101 100 -11 0011 -11 0011 -11 00 111 Überträge 11001 1 Überträge 0011 1 1 100111 Überträge 4.2.3 Ganze positive Zahlen Positive ganze Zahlen werden meist direkt in ihrer binären Darstellung kodiert. Die BCD (Binary Coded Digits) - Darstellung von Zahlen ist eine Mischform aus Dezimal- und Binärdarstellung: Jede Ziffer der Dezimalzahl wird binär dargestellt. Die Darstellung jeder Ziffer erfolgt mit 4 Bits. Die Reihenfolge der Ziffern bleibt erhalten. Beispiele: 7 0111 53 0101 0011 1234 0001 0010 0011 0100 1999 0001 1001 1001 1001 0 1 2 3 4 5 6 7 8 9 Pseudotetraden 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 4.2.4 Ganze negative Zahlen: Probleme Darstellung des Vorzeichens im ersten Bit, z.B. 0000 0001 0010 0011 0100 0101 0110 0111 = = = = = = = = 0 1 2 3 4 5 6 7 1000 1001 1010 1011 1100 1101 1110 1111 = = = = = = = = 0 -1 -2 -3 -4 -5 -6 -7 Nachteil durch Redundanz der Darstellung der 0 Nachteil durch Probleme beim formalen Addieren 1011 + 0001 1100 -3 +1 -4 4.2.4 Ganze negative Zahlen: Zweierkomplement Zweierkomplementdarstellung -2n ... +(2n-1) Negative Zahl durch bitweise Komplementierung und Addition von 1 (eventl. Überlauf weglassen) 0000 = 0 Beispiel: 3 0001 = 1 1001 = -7 0011 Binärdarstellung 0010 = 2 1010 = -6 1100 Komplement 0011 = 3 1011 = -5 1101 Komplement + 1 = -3 0100 = 4 1100 = -4 0101 = 5 1101 = -3 0110 = 6 1110 = -2 0111 = 7 1111 = -1 Vorteile Darstellung des Vorzeichens im ersten Bit Abdeckung von 16 Zahlen, also keine Redundanz Kein Nachteil durch Probleme beim formalen Addieren Subtraktion durch Addition des Zweierkomplements -3 1101 +1 +0001 -2 1110 -1 1111 -1 +1111 -2 11110 1110 1. 2. 3. 4. 5. Auf gleiche Länge bringen Bitweise Komplementbildung 1 Addieren Addieren (wie bei Binärzahlen) Überlauf ggf. weglassen 4.2.5 Gebrochene Zahlen: Binärdarstellung Darstellung mit Vor- und Nachkommateil Beispiele Gebrochene Binärzahl 0.1 0.01 111.111 0.0001 1001 1001 1001 .... Gebrochene Dezimalzahl 0,5 0,25 7,875 0,1 Mit 32 Bit lassen sich nur 232 verschiedene Zahlen darstellen. Problem: extrem große und extrem kleine Zahlen lassen sich mit wenigen Bits nicht darstellen Bei 8 Bit mit 4 Vorkomma und 4 Nachkommastellen (ohne Vorzeichen): 0000.0001 < n < 1111.1111 0,0675 < n < 15,9425 4.2.5 Gebrochene Zahlen: Exponentialdarstellung Anforderung sehr große und sehr kleine Zahlen sollen darstellbar sein Masse Elektron = 9 * 10-28 g Anzahl Moleküle pro Mol = 6,022 * 1023 die relativen Genauigkeiten sind wichtiger als die absoluten Ältere Quellen geben die Anzahl der Moleküle pro Mol mit 6,065 * 1023 an Eine Änderung in der Mantisse von 0,04 entspricht einer Toleranz von 6,065 / 6,022 1,0071 also ca. 0,7%. Fixkommadarstellung wäre große Verschwendung zur Darstellung dieser beiden Größen wären 194 Bit nötig 87 Bit Vorkommateil 107 Bit Nachkommateil Idee: Signifikante Stellen und Größenordnung werden getrennt Signifikant Masse Elektron: 9 Größenordnung Masse Elektron: 10-28 4.2.5 Gleitpunktzahlen: Real Darstellung Darstellung durch Real-Zahlen, bestehend aus drei Teilen: Vorzeichenbit V Gibt an, ob die Zahl positiv oder negativ ist Mantisse M Wird mit dem Exponenten multipliziert Die Normalform wird erreicht, indem das Komma soweit nach links oder rechts geschoben wird, bis die erste Stelle nach dem Dezimalpunkt die erste von Null verschieden Ziffer ist. Der Exponent wird entsprechend der Verschiebungen erhöht oder vermindert. Exponent E Potenz einer Basiszahl (2) mit der die Mantisse multipliziert wird wird oft in „BIAS“-Darstellung abgelegt, d.h. wird mit 126 addiert um negatives Vorzeichen zu vermeiden. Vorsicht: 126 (nicht 128). Asymmetrisch, da 21 bei der Normalisierung zweimal geschoben wird, 2-1 gar nicht Vorsicht: Bei manchen Maschinen wird so normalisiert, dass die erste Stelle vor dem Komma gleich 1 wird, dann ist der BIAS 127 4.2.5 Gleitpunktzahlen: Umwandlung Umwandlung Dezimalzahl in binäre Gleitpunktzahl (nach IEEE 754) Umwandlung der Dezimalzahl in Binärzahl mit Nachkommateil Verschieben des Kommas nach links oder rechts bis zur Normalform Damit ist erste Nachkommastelle = 1 und daher redundant, kann also in der Mantisse weggelassen werden. 2 * größere Genauigkeit der Mantisse Erhöhen oder Erniedrigen des Exponenten Umwandlung des Exponenten in binäre Form Addition des BIAS =12610 (um negative Exponenten zu vermeiden) auf den Exponenten Das Vorzeichen der Mantisse wird bestimmt: positiv 0, negativ 1 IEEE 754 sieht noch eine optionale Rundung der Mantisse vor Nicht jede gebrochene Dezimalzahl lässt sich endlich als gebrochene Binärzahl darstellen (und umgekehrt). Dadurch entstehen Rundungsfehler 4.2.5 Gleitpunktzahlen: Beispiele Beispiel: 148,62510 1. 2. Konvertieren: Normalisieren: 3. 4. 5. Bias addieren Vorzeichen Ergebnis: 10010100,101 10010100,101 = 0,10010100101*2+8 Exponent ist 8. M = 0010100101 (die führende 1 ist in Normalform redundant) E = 12610 + 810 = 13410 = 100001102 V = 0 VEEEEEEEEMMMMMMMMMMMMMMMMMMMMMMM 01000011000101001010000000000000 Beispiel: -2,7510 1. 2. Konvertieren: Normalisieren: 3. 4. 5. Bias addieren Vorzeichen Ergebnis: 10,11 10,11 = 0,1011*2+2 Exponent ist 2. M = 011 (die führende 1 ist in Normalform redundant) E = 12610 + 210 = 12810 = 100000002 V = 1 VEEEEEEEEMMMMMMMMMMMMMMMMMMMMMMM 11000000001100000000000000000000 4.2.5 Gleitpunktzahlen: Arithmetik Addition/Subtraktion Die Exponenten werden angeglichen, indem die Mantisse des Operanten mit dem kleineren Absolutbetrag entsprechend verschoben wird. Anschließend werden die Mantissen addiert Beim Verschieben können Stellen verloren gehen. Multiplikation Die Mantissen der Operanten werden multipliziert Die Exponenten werden addiert Sind die Exponenten zu groß, kann es zu Exponenten-Overflow kommen Division Die Mantissen der Operanten werden dividiert Der Exponent ergibt sich aus der Differenz des Dividenden und Divisors Ist der Divisor zu klein und/oder der Dividend zu groß kann es zu einem ExponentenUnderflow kommen. Das Ergebnis wird dann zu 0, alle Ziffern sind verloren Nach allen Operationen wird die Normalform ggf. wiederhergestellt 4.2.6 Standards Short Integer Unsigned Int LongInt Real nach IEEE 754 -128 ... 127 -32768 ... 32767 0 ...65535 -2147483648 ... 2147483647 (8Bit) (16Bit) (16Bit) (32Bit) Float 1 VZ-Bit, 8 Bit E, 23 Bit M Double 1 VZ-Bit, 11 Bit E, 52 Bit M zwei Varianten 0,5 M < 1 bzw. 1 M < 2 Number (32Bit) (64Bit) sign exponent mantissa normalized number 0/1 01 to FE any value denormalized number 0/1 00 any value zero 0/1 00 0 infinity 0/1 FF 0 NaN 0/1 FF any value but 0 4.2.6 Standards: Beispiel (Delphi) In Borlands Delphi (Pascal) sind folgende Typen festgelegt: Typ Real48 Single Double Extended Comp Currency Bereich 2,9 x 10^-39 1,7 x 10^38 1,5 x 10^-45 3,4 x 10^38 5,0 x 10^-324 1,7 x 10^308 3,6 x 10^-4951 1,1 x 10^4932 -2^63+1 2*63-1 -922337203685477.5808 +922337203685477.5808 Signifikant 11-12 7-8 15-16 10-20 10-20 10-20 Größe (Byte) 6 4 8 10 8 8 Der generische Typ Real ist in der aktuellen Implementierung mit dem Typ Double identisch. http://de.wikipedia.org/wiki/Borland_Delphi#Elementare_Datentypen (7.5.2007) 4.3 Zusammenfassung des Kapitels Darstellung von Zeichen ASCII EBCDIC UNICODE Darstellung von Zahlen Zahlensysteme Konvertierung Arithmetik Ganze positive Zahlen Ganze negative Zahlen Gebrochene Zahlen Gleitpunktzahlen Standards