bit/byte/hex folien sync beide kurse + neue viz embeds
223015c (internettechnik): - byte-aufbau ausgebaut (build-up tabelle 0..127..255 wie b) - neue slides: why-8-bit, byte-flow, three-views nach byte-nibble-hex/hex-dec-table 223015b (dateiformate): - byte-nibble-hex slide eingebaut - neue slides: why-8-bit (vor hex-lead), hex-dec-table, byte-flow, three-views - wo-begegnet-hex tabelle (CSS, MAC, fehlercodes, speicher, unicode) - bit-vs-byte verwirrung (Mbit/s vs MB/s) konvention: 'Byte' und 'Bit' invariant, kein plural-s
This commit is contained in:
@@ -1195,6 +1195,33 @@ Sog. RGB Tuple (geordnete endliche Liste)
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
<!-- _header: '' -->
|
||||||
|
<!-- _footer: '' -->
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
<!--
|
||||||
|
Kernidee: jedes Byte lässt sich sauber in zwei 4-Bit-Hälften (Nibbles) zerlegen. Jede Hälfte hat 2⁴ = 16 Zustände – und genau 16 Symbole hat Hex (0-F). Deshalb passt Hex perfekt: 1 Nibble = 1 Hex-Ziffer, 1 Byte = 2 Hex-Ziffern. Keine krumme Umrechnung.
|
||||||
|
-->
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
<!-- _header: '' -->
|
||||||
|
<!-- _footer: '' -->
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
<!--
|
||||||
|
Warum gerade 8 Bit?
|
||||||
|
- CPU adressiert byteweise — kleinste adressierbare Einheit
|
||||||
|
- Halbe Byte (z.B. 0x0000.5) existieren nicht
|
||||||
|
- Speichercontroller, Bus, CPU-Register alle auf 8-Bit-Häppchen ausgelegt
|
||||||
|
- Einzelne Bit lesen: erst Byte holen, dann mit Bitmaske isolieren (byte & 0b1000_0000)
|
||||||
|
- Hardware-Geschichte: IBM System/360 (1964) setzte 8-Bit-Standard, 7-Bit-ASCII + 1 Paritätsbit
|
||||||
|
-->
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
<!-- _class: lead -->
|
<!-- _class: lead -->
|
||||||
|
|
||||||
# Hexadezimal
|
# Hexadezimal
|
||||||
@@ -1226,6 +1253,102 @@ Sog. RGB Tuple (geordnete endliche Liste)
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
<!-- _header: '' -->
|
||||||
|
<!-- _footer: '' -->
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
<!--
|
||||||
|
Hex ↔ Dezimal Lookup-Tabelle: 0–F = 0–15
|
||||||
|
A=10, B=11, C=12, D=13, E=14, F=15
|
||||||
|
-->
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
<!-- _header: '' -->
|
||||||
|
<!-- _footer: '' -->
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
<!--
|
||||||
|
1 Byte = 8 Bit = 2 Hex-Ziffern = 1 ASCII-Zeichen
|
||||||
|
- Dieselbe Datei, drei Schreibweisen
|
||||||
|
- Jeder Rahmen = ein Byte
|
||||||
|
- Byte ändern sich nicht, nur unsere Anzeige
|
||||||
|
- ↵ (0x0A) = nicht druckbar → Hex-Editoren zeigen . als Platzhalter
|
||||||
|
-->
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
<!-- _header: '' -->
|
||||||
|
<!-- _footer: '' -->
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
<!--
|
||||||
|
Dieselben 8 Byte (PNG-Dateianfang: 89 50 4E 47 0D 0A 1A 0A) — drei Perspektiven:
|
||||||
|
1. Bitstream — was wirklich gespeichert wird (unleserlich)
|
||||||
|
2. Hex — gruppiert in 8-Bit-Häppchen (kompakt)
|
||||||
|
3. Bedeutung — was die Byte signalisieren:
|
||||||
|
- 89: Magic Byte (>127 → "ich bin Binärdatei")
|
||||||
|
- 50 4E 47: P N G (ASCII-Format-Kürzel)
|
||||||
|
- 0D 0A 1A 0A: CR LF EOF LF (erkennt kaputte Übertragung)
|
||||||
|
-->
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# Wo begegnet Ihnen Hex-Code?
|
||||||
|
|
||||||
|
| Kontext | Beispiel |
|
||||||
|
|---------|----------|
|
||||||
|
| CSS-Farben | `#FF5733` |
|
||||||
|
| MAC-Adressen | `00:1A:2B:3C:4D:5E` |
|
||||||
|
| Fehlercodes | `0x80070005` |
|
||||||
|
| Speicheradressen | `0xA04F20` |
|
||||||
|
| Unicode | `U+00E4` (ä) |
|
||||||
|
| Datei-Signaturen | `89 50 4E 47` (PNG) |
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Präfixe:
|
||||||
|
- 0x = "das ist Hexadezimal" (C, JavaScript, Python)
|
||||||
|
- U+ = Unicode-Codepoint (Standard für Zeichenkodierung)
|
||||||
|
- # = CSS-Konvention für Farben
|
||||||
|
|
||||||
|
ABKÜRZUNGEN:
|
||||||
|
- MAC = Media Access Control (eindeutige Hardware-Adresse einer Netzwerkkarte)
|
||||||
|
- Unicode = universeller Zeichensatz für alle Schriftsysteme
|
||||||
|
|
||||||
|
Speicheradressen erklärt:
|
||||||
|
- 64-Bit-System → Adresse hat 64 Bit = 16 Hex-Ziffern
|
||||||
|
- Beispiel vollständig: 0x0000000000A04F20 (führende Nullen weggelassen)
|
||||||
|
- "0x" = Präfix, sagt nur "jetzt kommt Hex"
|
||||||
|
|
||||||
|
Fehlercodes: Windows zeigt diese bei Bluescreens
|
||||||
|
-->
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# Bit vs. Byte: Die Verwirrung
|
||||||
|
|
||||||
|
**1 Byte = 8 Bit** → Bit ÷ 8 = Byte
|
||||||
|
|
||||||
|
| Einheit (Bit) | Einheit (Byte) |
|
||||||
|
|---------------|----------------|
|
||||||
|
| 1 Kbit = 1.000 Bit | 1 KB = 1.000 Byte = 8.000 Bit |
|
||||||
|
| 1 Mbit = 1.000.000 Bit | 1 MB = 1.000.000 Byte = 8 Mbit |
|
||||||
|
| 1 Gbit = 1 Mrd. Bit | 1 GB = 1 Mrd. Byte = 8 Gbit |
|
||||||
|
|
||||||
|
100 Mbit/s Bandbreite = **12,5 MB/s** Downloadrate
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Bits = kleines b, Bytes = großes B
|
||||||
|
Internetanbieter: Mbit/s (klingt größer!)
|
||||||
|
100 Mbit/s ÷ 8 = 12,5 MB/s
|
||||||
|
Marketing - 100 klingt besser als 12,5
|
||||||
|
-->
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
<!-- _class: lead -->
|
<!-- _class: lead -->
|
||||||
|
|
||||||
# ASCII
|
# ASCII
|
||||||
|
|||||||
@@ -913,19 +913,46 @@ Shannon: Begründer der Informationstheorie
|
|||||||
|
|
||||||
# Das Byte
|
# Das Byte
|
||||||
|
|
||||||
**8 Bit = 1 Byte**
|
### Die kleinste *adressierbare* Informationseinheit
|
||||||
|
|
||||||
|
### 8 bit = 1 Byte
|
||||||
|
|
||||||
```
|
```
|
||||||
0 0 1 0 1 0 1 0
|
0 0 1 0 1 0 1 0 = 42
|
||||||
```
|
```
|
||||||
|
|
||||||
**Wie viele Kombinationen?**
|
|
||||||
2⁸ = 2 x 2 x 2 x 2 x 2 x 2 x 2 x 2 = **256 Möglichkeiten** (0-255)
|
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
BYTE = Wortspiel aus "Bit" + "Bite" (Bissen)
|
BYTE = Wortspiel aus "Bit" + "Bite" (Bissen) — Begriff geprägt von Werner Buchholz (IBM, 1956)
|
||||||
Warum 8 Bits? IBM System/360 (1964) setzte Standard
|
Schreibweise mit "y" statt "i": bewusste Änderung zur Vermeidung von Verwechslung mit "Bit"
|
||||||
2×2×2×2×2×2×2×2 = 256
|
binary 00101010 = decimal 42
|
||||||
|
-->
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# Das Byte
|
||||||
|
|
||||||
|
### 8 bit = 1 Byte
|
||||||
|
|
||||||
|
```
|
||||||
|
0 0 0 0 0 0 0 0 = 0
|
||||||
|
0 0 0 0 0 0 0 1 = 1
|
||||||
|
0 0 0 0 0 0 1 0 = 2
|
||||||
|
0 0 0 0 0 0 1 1 = 3
|
||||||
|
0 0 0 0 0 1 0 0 = 4
|
||||||
|
|
||||||
|
0 1 0 0 0 0 0 0 = 64
|
||||||
|
0 1 1 1 1 1 1 1 = 127
|
||||||
|
1 1 1 1 1 1 1 1 = ?
|
||||||
|
```
|
||||||
|
|
||||||
|
2 × 2 × 2 × 2 × 2 × 2 × 2 × 2 = 2⁸ = **256 mögliche Zustände**
|
||||||
|
|
||||||
|
<!--
|
||||||
|
- 1964: IBM System/360 setzte den 8-Bit-Byte-Standard — vorher 6-Bit/7-Bit-Systeme
|
||||||
|
- ASCII (1963) brauchte 7 Bit für 128 Zeichen
|
||||||
|
- 8 Bit = praktisch für Hardware (Zweierpotenz: 2³ = 8)
|
||||||
|
- 8 Bit = 2 Hexadezimalziffern (elegante Darstellung)
|
||||||
|
- Kleinste adressierbare Einheit im Speicher: Prozessor kann nicht einzelne Bits direkt ansprechen, immer Bytes
|
||||||
-->
|
-->
|
||||||
|
|
||||||
---
|
---
|
||||||
@@ -957,6 +984,22 @@ Farbbild: Rot + Grün + Blau
|
|||||||
Kernidee: jedes Byte lässt sich sauber in zwei 4-Bit-Hälften (Nibbles) zerlegen. Jede Hälfte hat 2⁴ = 16 Zustände – und genau 16 Symbole hat Hex (0-F). Deshalb passt Hex perfekt: 1 Nibble = 1 Hex-Ziffer, 1 Byte = 2 Hex-Ziffern. Keine krumme Umrechnung.
|
Kernidee: jedes Byte lässt sich sauber in zwei 4-Bit-Hälften (Nibbles) zerlegen. Jede Hälfte hat 2⁴ = 16 Zustände – und genau 16 Symbole hat Hex (0-F). Deshalb passt Hex perfekt: 1 Nibble = 1 Hex-Ziffer, 1 Byte = 2 Hex-Ziffern. Keine krumme Umrechnung.
|
||||||
-->
|
-->
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
<!-- _header: '' -->
|
||||||
|
<!-- _footer: '' -->
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
<!--
|
||||||
|
Warum gerade 8 Bit?
|
||||||
|
- CPU adressiert byteweise — kleinste adressierbare Einheit
|
||||||
|
- Halbe Byte (z.B. 0x0000.5) existieren nicht
|
||||||
|
- Speichercontroller, Bus, CPU-Register sind alle auf 8-Bit-Häppchen ausgelegt
|
||||||
|
- Einzelne Bit lesen: erst Byte holen, dann mit Bitmaske isolieren (byte & 0b1000_0000)
|
||||||
|
- Hardware-Geschichte: IBM System/360 (1964) setzte 8-Bit-Standard, 7-Bit-ASCII + 1 Paritätsbit
|
||||||
|
-->
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
# Zahlensysteme
|
# Zahlensysteme
|
||||||
|
|
||||||
@@ -1013,6 +1056,38 @@ CSS (Cascading Style Sheets)-Farben nutzen Hex: #FF0000 = Rot
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
<!-- _header: '' -->
|
||||||
|
<!-- _footer: '' -->
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
<!--
|
||||||
|
1 Byte = 8 Bit = 2 Hex-Ziffern = 1 ASCII-Zeichen
|
||||||
|
- Dieselbe Datei, drei Schreibweisen
|
||||||
|
- Jeder Rahmen = ein Byte
|
||||||
|
- Byte ändern sich nicht, nur unsere Anzeige
|
||||||
|
- ↵ (0x0A) = nicht druckbar → Hex-Editoren zeigen . als Platzhalter
|
||||||
|
-->
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
<!-- _header: '' -->
|
||||||
|
<!-- _footer: '' -->
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
<!--
|
||||||
|
Dieselben 8 Byte (PNG-Dateianfang: 89 50 4E 47 0D 0A 1A 0A) — drei Perspektiven:
|
||||||
|
1. Bitstream — was wirklich gespeichert wird (unleserlich)
|
||||||
|
2. Hex — gruppiert in 8-Bit-Häppchen (kompakt)
|
||||||
|
3. Bedeutung — was die Byte signalisieren:
|
||||||
|
- 89: Magic Byte (>127 → "ich bin Binärdatei")
|
||||||
|
- 50 4E 47: P N G (ASCII-Format-Kürzel)
|
||||||
|
- 0D 0A 1A 0A: CR LF EOF LF (erkennt kaputte Übertragung)
|
||||||
|
-->
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
# Wo begegnet Ihnen Hex-Code?
|
# Wo begegnet Ihnen Hex-Code?
|
||||||
|
|
||||||
| Kontext | Beispiel |
|
| Kontext | Beispiel |
|
||||||
|
|||||||
Reference in New Issue
Block a user