Binärzahlen
Informationen wie Zahlen und Zeichen werden im Computer in Form von sogenannten Bits (Binary Digits) gespeichert. Ein Bit ist die kleinstmögliche Informationseinheit und kann zwei Zustände annehmen: 0 und 1 (bzw. „an" und „aus", „wahr" und „falsch", „Strom fließt" und „Strom fließt nicht"). Zahlen, die mithilfe von Bits dargestellt werden, nennt man Binärzahlen, das dazugehörige Zahlensystem Binärsystem. Zahlensysteme legen fest, wie Zahlen dargestellt werden — der Name verrät dabei jeweils, wie viele Ziffern zur Verfügung stehen. Um Verwechslungen zu vermeiden, können Zahlen mit einem nach- und tiefgestellten Index versehen werden (2 = Binärsystem, 8 = Oktalsystem, 10 = Dezimalsystem, 16 = Hexadezimalsystem).
- Binärsystem
- Oktalsystem
- Dezimalsystem
- Hexadezimalsystem
- Ziffern: 0, 1
- Beispiel: 1001012
| Stelle | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 |
|---|---|---|---|---|---|---|---|---|
| Potenz | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 |
| Stellenwert | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
Das höchstwertige Bit wird als Most Significant Bit (MSB), das niedrigstwertige Bit als Least Significant Bit (LSB) bezeichnet.
- Ziffern: 0, 1, 2, 3, 4, 5, 6, 7
- Beispiel: 7518
| Stelle | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 |
|---|---|---|---|---|---|---|---|---|
| Potenz | 87 | 86 | 85 | 84 | 83 | 82 | 81 | 80 |
| Stellenwert | 2.097.152 | 262.144 | 32.768 | 4.096 | 512 | 64 | 8 | 1 |
- Ziffern: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
- Beispiel: 2.060.12810
| Stelle | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 |
|---|---|---|---|---|---|---|---|---|
| Potenz | 107 | 106 | 105 | 104 | 103 | 102 | 101 | 100 |
| Stellenwert | 10.000.000 | 1.000.000 | 100.000 | 10.000 | 1.000 | 100 | 10 | 1 |
Neben der Dezimaldarstellung (Beispiel: 2.060.128) können Dezimalzahlen auch in der Exponentialdarstellung (Beispiel: 2,060128*106 bzw. 2,060128e6) dargestellt werden. Bei dieser Darstellung, die auch als wissenschaftliche Notation bezeichnet wird, werden Zahlen als Produkt aus Mantisse und einer 10er-Potenz dargestellt.
- Ziffern: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F
- Beispiel: F4A8316
| Stelle | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 |
|---|---|---|---|---|---|---|---|---|
| Potenz | 167 | 166 | 165 | 164 | 163 | 162 | 161 | 160 |
| Stellenwert | 268.435.456 | 16.777.216 | 1.048.576 | 65.536 | 4.096 | 256 | 16 | 1 |
Größeneinheiten
Werden 8 Bits zu einer Einheit zusammengefasst, spricht man von einem Byte. Je 1.024 Bytes werden wiederum zu einem Kilobyte (KB) zusammengefasst, 1.024 Kilobyte ergeben ein Megabyte (MB) und so weiter.
| Einheit | Abkürzung | Größe in Byte | Größe in Bit |
|---|---|---|---|
| Bit | - | 0 | 1 |
| Byte | - | 1 | 8 |
| Kilobyte | KB | 1.0241 | 210 |
| Megabyte | MB | 1.0242 | 220 |
| Gigabyte | GB | 1.0243 | 230 |
| Terabyte | TB | 1.0244 | 240 |
Negative Binärzahlen
Da Binärzahlen keine Vorzeichen kennen, wird zur Darstellung negativer Zahlen ein Bit (in der Regel das MSB) als Vorzeichenbit genutzt: Die 0 steht für eine positive, die 1 für eine negative Zahl. Verwendet man ausschließlich das Vorzeichenbit, entstehen jedoch Probleme wie eine doppelte Null sowie komplexe und ineffiziente Rechenoperationen. Auch beim Einerkomplement (b-1-Komplement), bei dem alle Bits invertiert werden, bleiben diese Probleme teilweise bestehen. Daher wird in der Praxis das Zweierkomplement (b-Komplement) verwendet: Nach dem Invertieren aller Bits wird zusätzlich eine 1 addiert.
Im Beispiel wird die Zahl -5910 als negative Binärzahl dargestellt.
| 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | |
|---|---|---|---|---|---|---|---|---|
| 59 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 1 |
| -59 (Vorzeichenbit) | 1 | 0 | 1 | 1 | 1 | 0 | 1 | 1 |
| -59 (Einerkomplement) | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 0 |
| -59 (Zweierkomplement) | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 1 |
Reelle Binärzahlen
Die Darstellung reeller Binärzahlen erfolgt als Gleitkommazahlen (Floating-Point-Zahlen) gemäß der Norm IEEE 754.
| Datentyp | Größe | Vorzeichen | Exponent | Mantisse | Bias | |
|---|---|---|---|---|---|---|
| einfache Genauigkeit | float | 32 Bit | 1 Bit | 8 Bit | 23 Bit | 127 |
| doppelte Genauigkeit | double | 64 Bit | 1 Bit | 11 Bit | 51 Bit | 1023 |
Gleitkommazahlen können dabei spezielle Werte annehmen:
- Null: Werte, die zu klein sind, um dargestellt zu werden, werden als positive oder negative Null dargestellt
- Unendlich: Werte, die zu groß sind, um dargestellt zu werden, werden als positives oder negatives Unendlich dargestellt
- NaN (Not a Number): ungültige Werte (z.B. Unendlich - Unendlich) werden als NaN dargestellt
Im Beispiel wird die Zahl -156,3910 als Gleitkommazahl dargestellt.
| Vorzeichen | Exponent | Mantisse | |
|---|---|---|---|
| einfache Genauigkeit | 1 | 10000110 | 00111000110001111010111 |
| doppelte Genauigkeit | 1 | 10000000110 | 0011100011000111101011100001010001111010111000010100 |