Binärzahl
Es ist ein Zahlsystem, bei dem man nur zwei Zahlen benutzt (1 und 0).
| - | |||
|---|---|---|---|
| 1 | - | True | ON |
| 0 | - | False | OFF |
| 2¹⁰ | 2⁹ | 2⁸ | 2⁷ | 2⁶ | 2⁵ | 2⁴ | 2³ | 2² | 2¹ | 2⁰ |
|---|---|---|---|---|---|---|---|---|---|---|
| 1024 | 512 | 256 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
System zur Angabe von Speichergröße
Wir wissen, dass 8 Bits genau 1 Byte entsprechen.
Es gibt aber andere Zahlenbereiche, diese lassen sich in zwei Gruppen unterscheiden:
Internationales Einheitensystem (SI)
Es verwendet Dezimalpräfixe basierend auf Vielfachen von 1.000
Internationale Elektrotechnische Kommission (IEC)
Es definiert binäre Präfixe, basierend auf Vielfachen von 1.024
Festplatte mit 800 GB gekauft → das Betriebssystem rechnet binär und zeigt weniger an:
Overflow & Underflow
Wenn eine Zahl außerhalb des darstellbaren Bereichs liegt:
| Situation | Beispiel | Folge |
|---|---|---|
| Overflow (zu groß) | Speicher für 4 Bit: max |
Bits, die nicht passen, gehen verloren. Oft wird die Zahl „umgebrochen" (modulo). |
| Underflow (zu klein) | Mit vorzeichenlosen Zahlen: 3 − 5 geben können? | Ungültig oder zyklisches Verhalten |
0000).
Zweierkomplement (für negative Zahlen)
Um mit negativen Zahlen rechnen zu können, nutzt man das Zweierkomplement:
- Positive Zahlen (MSB = 0): ganz normal.
- Negative Zahlen (MSB = 1): alle Bits flippen + 1 addieren.
| Dezimal | 8-Bit Binär (Zweierkomplement) |
|---|---|
| +5 | 0000 0101 |
| −5 | flip: 1111 1010 + 1 = 1111 1011 |
| +127 | 0111 1111 (max, MSB=0) |
| −128 | 1000 0000 (min, MSB=1) |
Vorteil: Subtraktion funktioniert wie Addition (−5 addieren = +5 subtrahieren). Die CPU braucht keine separate Subtrakt-Schaltung.
Shift-Operationen
Mit Shift-Befehlen verschieben sich die Bits um mehrere Positionen:
-
Links-Shift (
<<): Bits nach links, rechts Nullen einfügen → entspricht Multiplikation mit 2.1101 << 1 = 1010 (14 − 26, aber nur 4 Bit: Overflow) -
Rechts-Shift (
>>): Bits nach rechts, links je nach Variante:- Logisch: Nullen einfügen (für vorzeichenlose Zahlen).
- Arithmetisch: MSB kopieren (für Zweierkomplement, erhält Vorzeichen).
1101 >> 1 = 1110 (arithmetisch, -3 >> 1 = -2) 1101 >> 1 = 0110 (logisch, 13 >> 1 = 6) -
Rotation: Das rausgeschobene Bit kommt am anderen Ende wieder rein.