Lektion 1 von 9
Bits, Bytes und Zahlensysteme
Du rechnest sicher zwischen Dezimal, Binär und Hexadezimal um, verstehst kB und KiB und liest Hex-Werte im Berufsalltag.
Worum es geht
Jannik, Lernender bei der Geomatik Zufferey AG in Sitten, öffnet eine CSV-Datei mit Gemeindenamen in einem Hex-Editor. Statt Buchstaben sieht er Kolonnen wie 48 C3 A9 72 C3 A9 6D 65 6E 63 65. Seine Berufsbildnerin schaut ihm über die Schulter und sagt: «Da steht Hérémence, und das é ist in UTF-8 gespeichert.» Für sie ist das so lesbar wie für dich eine Telefonnummer.
Genau diese Fähigkeit baust du in diesem Kurs auf. Hexadezimalzahlen begegnen dir überall in der Informatik: in MAC-Adressen (3C:52:82:1A:F0:07), in Farbcodes (#FF8800), in IPv6-Adressen und in Hashwerten. Wer sie lesen kann, findet Fehler schneller und versteht, was Codierung, Kompression und Verschlüsselung wirklich mit Daten machen.
In dieser Lektion lernst du, was Bits und Bytes sind, wie das Dezimal-, Binär- und Hexadezimalsystem funktionieren und wie du sicher und schnell zwischen ihnen umrechnest, zuerst von Hand und dann mit Python.
Bits und Bytes: was ein Computer wirklich speichert
Ein Computer kennt nur zwei Zustände, etwa Strom oder kein Strom. Diese kleinste Informationseinheit heisst Bit (binary digit) und hat den Wert 0 oder 1.
Mit mehreren Bits wächst die Zahl der Möglichkeiten schnell: Jedes zusätzliche Bit verdoppelt sie. Mit n Bit kannst du 2^n verschiedene Werte darstellen.
| Bits | Mögliche Werte | Beispiel |
|---|---|---|
| 1 | 2 | ein/aus |
| 4 | 16 | eine Hex-Ziffer (Nibble) |
| 8 | 256 | ein Byte, Werte 0 bis 255 |
| 16 | 65 536 | Portnummern 0 bis 65 535 |
| 32 | rund 4.3 Milliarden | IPv4-Adressen |
Acht Bit zusammen heissen Byte. Das Byte ist die Grundeinheit für Dateigrössen und Speicher. Ein halbes Byte (4 Bit) heisst Nibble.
Kilobyte oder Kibibyte?
Bei grösseren Einheiten gibt es zwei Systeme, und das sorgt regelmässig für Verwirrung:
| Dezimal (SI) | Wert | Binär (IEC) | Wert |
|---|---|---|---|
| 1 kB | 1000 Byte | 1 KiB | 1024 Byte |
| 1 MB | 1000 kB | 1 MiB | 1024 KiB |
| 1 GB | 1000 MB | 1 GiB | 1024 MiB |
Festplattenhersteller rechnen dezimal, Windows rechnet binär, schreibt aber «GB». Deshalb zeigt Windows eine neue 500-GB-SSD mit rund 465 GB an: 500 000 000 000 Byte geteilt durch 1024³ ergibt 465.66. Es fehlt nichts, es wird nur anders gezählt.
Ein Neigungssensor auf einer Baustelle speichert jeden Messwert mit 12 Bit. Wie viele verschiedene Werte kann er darstellen?
Stellenwertsysteme: Dezimal, Binär und Hexadezimal
Du rechnest seit der Primarschule in einem Stellenwertsystem: Die Zahl 4711 bedeutet 4 × 1000 + 7 × 100 + 1 × 10 + 1 × 1. Jede Stelle ist zehnmal mehr wert als die rechts davon, weil wir zehn Ziffern haben (0 bis 9). Die Zahl 10 ist die Basis.
Das Binärsystem funktioniert genau gleich, nur mit der Basis 2 und den Ziffern 0 und 1. Jede Stelle ist doppelt so viel wert wie die rechts davon:
| Stelle | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
|---|---|---|---|---|---|---|---|---|
| Wert | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
Binärzahlen werden schnell lang und unübersichtlich. Deshalb gibt es das Hexadezimalsystem mit der Basis 16. Weil es nur zehn Ziffern gibt, nimmt man für die Werte 10 bis 15 die Buchstaben A bis F.
| Dezimal | Binär | Hex | Dezimal | Binär | Hex | |
|---|---|---|---|---|---|---|
| 0 | 0000 | 0 | 8 | 1000 | 8 | |
| 1 | 0001 | 1 | 9 | 1001 | 9 | |
| 2 | 0010 | 2 | 10 | 1010 | A | |
| 3 | 0011 | 3 | 11 | 1011 | B | |
| 4 | 0100 | 4 | 12 | 1100 | C | |
| 5 | 0101 | 5 | 13 | 1101 | D | |
| 6 | 0110 | 6 | 14 | 1110 | E | |
| 7 | 0111 | 7 | 15 | 1111 | F |
Der grosse Vorteil: Eine Hex-Ziffer entspricht genau 4 Bit. Ein Byte lässt sich also immer mit genau zwei Hex-Ziffern schreiben, von 00 bis FF. Darum zeigen Hex-Editoren jedes Byte als zweistellige Hex-Zahl.
Damit klar ist, in welchem System eine Zahl steht, gibt es Schreibweisen: 0b11001010 oder 11001010₂ für binär, 0xCA, CAh oder CA₁₆ für hexadezimal. Ohne Kennzeichnung ist «10» mehrdeutig: zehn, zwei oder sechzehn?
Umrechnen: drei Werkzeuge, die immer funktionieren
Merk dir dieses Bild, es zeigt für jede Richtung das passende Werkzeug:
Binär oder Hex nach Dezimal: Stellenwerte addieren
Schreib die Stellenwerte über die Ziffern und zähle zusammen, wo etwas steht.
Binär 11001010: 128 + 64 + 0 + 0 + 8 + 0 + 2 + 0 = 202
Hex CA: C × 16 + A × 1 = 12 × 16 + 10 = 192 + 10 = 202
Hex 1F4: 1 × 256 + 15 × 16 + 4 × 1 = 256 + 240 + 4 = 500Dezimal nach Binär: Restwertmethode
Teile die Zahl immer wieder durch 2 und notiere den Rest. Die Reste von unten nach oben gelesen ergeben die Binärzahl. Dieselbe Methode funktioniert mit 16 für Hex (dann sind die Reste 0 bis 15, also 0 bis F).
Alternativ nutzt du die Subtraktionsmethode: Geh die Stellenwerte 128, 64, 32 … von links durch. Passt der Wert noch in die Zahl, schreibst du 1 und ziehst ihn ab, sonst 0. Nimm den Weg, der dir besser liegt.
Binär und Hex: in 4er-Gruppen tauschen
Teile die Binärzahl von rechts in Gruppen zu 4 Bit und ersetze jede Gruppe durch ihre Hex-Ziffer. Umgekehrt ersetzt du jede Hex-Ziffer durch 4 Bit.
1100 1010 → C A → 0xCA
0x3F → 0011 1111Welche Binärzahl entspricht der Dezimalzahl 173?
Schritt für Schritt: 202 in alle Systeme und zurück
Jannik will die Dezimalzahl 202 binär und hexadezimal darstellen und das Ergebnis kontrollieren.
Schritt 1: Restwertmethode mit 2.
202 : 2 = 101 Rest 0
101 : 2 = 50 Rest 1
50 : 2 = 25 Rest 0
25 : 2 = 12 Rest 1
12 : 2 = 6 Rest 0
6 : 2 = 3 Rest 0
3 : 2 = 1 Rest 1
1 : 2 = 0 Rest 1Schritt 2: Reste von unten nach oben lesen. Ergebnis: 11001010. Das sind genau 8 Stellen, ein volles Byte.
Schritt 3: In 4er-Gruppen aufteilen. 1100 und 1010.
Schritt 4: Jede Gruppe in Hex übersetzen. 1100 = 12 = C, 1010 = 10 = A. Ergebnis: 0xCA.
Schritt 5: Gegenprobe direkt in Hex. 202 : 16 = 12 Rest 10. Die 12 ist C, der Rest 10 ist A. Also wieder CA.
Schritt 6: Gegenprobe zurück nach Dezimal. 128 + 64 + 8 + 2 = 202. Stimmt.
Schritt 7: Mit Python kontrollieren. Python kennt alle drei Systeme direkt:
zahl = 202
print(bin(zahl)) # 0b11001010
print(hex(zahl)) # 0xca
print(format(zahl, "08b")) # 11001010 (8 Stellen, ohne Präfix)
print(format(zahl, "02X")) # CA (2 Stellen, Grossbuchstaben)
print(int("11001010", 2)) # 202
print(int("CA", 16)) # 202| Darstellung | Wert |
|---|---|
| Dezimal | 202 |
| Binär | 1100 1010 |
| Hexadezimal | CA |
Jetzt bist du dran. Im Code-Labor bringst du Python bei, Zahlen von Hand in jede Basis von 2 bis 16 umzuwandeln. Wer das einem Computer erklären kann, hat es selbst verstanden.
Code-Labor: Zahlensysteme von Hand
Schreibe zwei Funktionen für die Basen 2 bis 16:
zu_basis(zahl, basis)wandelt eine nicht negative ganze Zahl mit der Restwertmethode in einen Text um, z.B.zu_basis(202, 16)→"CA",zu_basis(202, 2)→"11001010". Für 0 kommt"0"heraus. Hex-Ziffern als Grossbuchstaben.von_basis(text, basis)rechnet zurück, z.B.von_basis("CA", 16)→202. Kleinbuchstaben wie"ff"sollen auch funktionieren.
Verwende nicht bin(), hex(), format() oder int(text, basis). Genau diese Rechnung brauchst du an der Prüfung auf Papier.
Wo dir Hex im Berufsalltag begegnet
| Wo | Beispiel | Was du daraus liest |
|---|---|---|
| Hex-Editor | 48 C3 A9 72 | einzelne Bytes einer Datei |
| MAC-Adresse | 3C:52:82:1A:F0:07 | 6 Bytes = 48 Bit |
| Farbcode im Web | #FF8800 | Rot 255, Grün 136, Blau 0 |
| IPv6 | 2001:db8::1 | 128 Bit in 16-Bit-Blöcken |
| Hashwert SHA-256 | 64 Hex-Zeichen | 64 × 4 = 256 Bit |
Beim Farbcode #FF8800 steckt in jedem Paar ein Byte: FF = 255 (volles Rot), 88 = 8 × 16 + 8 = 136 (mittleres Grün), 00 = 0 (kein Blau). Das ergibt Orange.
Rechne ohne Taschenrechner um. Schreib Hex-Ziffern als Grossbuchstaben ohne 0x.
Dezimal 255 = Hex Hex 1F = Dezimal Binär 1011 0110 = Hex Hex 3C = Binär (8 Stellen) Farbcode #00A0FF: Der Grünanteil ist dezimal
Ordne jedem Wert die passende Dezimalzahl zu.
Typische Fehler
- Reste in falscher Reihenfolge lesen. Bei der Restwertmethode entsteht die niederwertigste Stelle zuerst. Wer die Reste von oben nach unten liest, erhält für 202
01010011statt11001010. - Führende Nullen weglassen.
101und00000101sind dieselbe Zahl, aber beim Gruppieren für Hex oder beim Vergleichen von Bytes verrutschen sonst die Stellen. Gruppiere immer von rechts und fülle links mit Nullen auf. - Hex-Ziffern über 9 falsch werten. B ist 11, nicht 12. Zähl im Zweifel ab A = 10 hoch.
- Den höchsten Wert mit der Anzahl Werte verwechseln. 8 Bit ergeben 256 Werte, der höchste ist aber 255. Ebenso hat ein 16-Bit-Wert maximal 65 535.
- kB und KiB vermischen. Bei Grössenangaben in Prüfungen immer klären, ob mit 1000 oder 1024 gerechnet wird, und den Rechenweg hinschreiben.
Zusammenfassung
- Ein Bit ist 0 oder 1, ein Byte sind 8 Bit mit 256 möglichen Werten (0 bis 255). Mit n Bit gibt es 2^n Werte.
- In jedem Stellenwertsystem ist eine Stelle Basis-mal so viel wert wie die rechts davon: Basis 10, 2 oder 16.
- Hexadezimal nutzt 0 bis 9 und A bis F. Eine Hex-Ziffer entspricht genau 4 Bit, ein Byte genau zwei Hex-Ziffern.
- Nach Dezimal: Stellenwerte addieren. Nach Binär oder Hex: Restwertmethode, Reste von unten nach oben lesen.
- Zwischen Binär und Hex tauschst du direkt in 4er-Gruppen.
- kB = 1000 Byte, KiB = 1024 Byte. Windows rechnet binär, schreibt aber «GB».
Mit deiner eigenen KI vertiefen
Kopiere einen Prompt in Claude, ChatGPT oder Claude Code. Er macht die KI zur Lernbegleitung statt zum Lösungsautomaten.
Umrechnungstraining mit Sofortfeedback Chat-KI
Wenn du das Umrechnen zwischen Dezimal, Binär und Hex schneller und sicherer können willst. Die KI stellt Aufgaben, du rechnest, sie korrigiert deinen Weg.