Binärzahlen
Informationen wie Zahlen und Zeichen werden im Computer in Form von sogenannten Bits (Binary Digits) gespeichert. Ein Bit stellt dabei die kleinstmögliche Informationseinheit dar und kann zwei Zustände einnehmen: 0 und 1 (bzw. "an" und "aus", "wahr" und "falsch", "Strom fließt" und "Strom fließt nicht"). Zahlen, die mit Hilfe von Bits dargestellt werden, bezeichnet man als Binärzahlen, das dazugehörige Zahlensystem als Binärsystem. Zahlensysteme wie das Binärsystem oder das Dezimalsystem legen fest, wie Zahlen dargestellt werden. Anhand des Namens lässt sich dabei ableiten, wie viele Ziffern zur Darstellung einer Zahl zur Verfügung stehen. Um Unklarheiten zu vermeiden, können Zahlen um einen nach- und tiefgestellten Index ergänzt 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 niedrigstwertie 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. Werden 1.024 Byte wiederum zusammengefasst, spricht man von einem Kilobyte (KB) bei 1.024 Kilobyte von einem 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 von negativen Binärzahlen ein Bit (in der Regel das MSB) als Vorzeichen genutzt, wobei die 0 für eine positive Zahl, die 1 für eine negative Zahl steht. Verwendet man für die Darstellung negativer Binärzahlen lediglich das Vorzeichenbit ergeben sich allerdings Probleme wie eine doppelte Null sowie komplexe und ineffiziente Rechenoperationen. Auch beim Einerkomplement (auch b-1-Komplement), bei dem alle Bits der Binärzahl invertiert werden, bleiben diese Probleme (teils) bestehen. Daher wird zu Darstellung negativer Dezimalzahlen das sogenannte Zweierkomplement (auch b-Komplement) verwendet, bei welchem nach dem Invertieren noch eine 1 hinzuaddiert wird.
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 in Form von Gleitkommazahlen (Floating Point Numbers). Diese ist in der Norm IEEE754 festgelegt.
| 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 wir die Zahl -156,3910 als Gleitkommazahl dargestellt.
| Vorzeichen | Exponent | Mantisse | |
|---|---|---|---|
| einfache Genauigkeit | 1 | 10000110 | 00111000110001111010111 |
| doppelte Genauigkeit | 1 | 10000000110 | 0011100011000111101011100001010001111010111000010100 |