---
# System prepended metadata

title: Bits und Bytes

---

# Bits und Bytes

## Bit

Ein Bit ist die kleinste Speichereinheit, welche ein Computer ansprechen kann. Sie können den wert 0(false) oder 1(true) haben.

Namentliche verwendung meist für Datenübertragunsraten (kb/s) als auch für Prozessorarchitektur (64-bit).

8 Bit = 1 Byte

## Byte 

Ein Byte ist die kleinste anzusprechende Einheit für den Entwicker und das Betriebssystem. Dementsprechend ist auch ein Arbeitsspeicher (RAM) in Bytes aufgeteilt.

Bytes finden sich als Begriff immer im bereich des Speichers, sei es eine Festplatte (1 Terabyte) oder Arbeitsspeicher (64 Gigabyte).

Bytes sind die gängiste Form in der IT. Man rechnet fast immer in Byte. Als Beispiel die IPv4-Adresse mit 4 Byte also 255.255.255.255 als maximum .

1 Byte = 8 Bit

## Binär

Ein Zahlensystem, dass auf 1(true) und 0(false) basiert. Man kann damit jeden wert darstellen und ist gleichzeitig in der Lage Bits realisitisch dar zu stellen und mit ihnen zu rechnen.

Um darzustellen, in welchem Zahlensystem sich der Wert befindet nutz man tiefergestellte Zahlen. So ist nun also für Binär (2 mögliche Werte) die "₂" das Symbol was am ende angegeben werden sollte.

Die Umrechung erfolgt von Binär in Dezimal in dem man von rechts nach links für jede Stelle in Binär den Wert verdoppelt (beginn bei 1, 2, 4, 8, ...) und dann die Werte bei denen eine 1 gesetzt ist addiert. 

Beispiel:
``` Beispiel
  1    0  1  0  1 1 1 0 1₂ = 1+4+8+16+64+256 = 349₁₀
256 |128 64 32 16 8 4 2 1|
    |     Ein Byte       |
```

Beim Rechnen von Dezimal in Binär ist der leichteste Ansatz sich zu überlegen welche Zahl in Binär (An welcher Stelle) ist die nächst größte Zahl vorhanden (im Beispiel 265 > 163, deshalb weiter runter 128 < 163. Also beginnt man dort). Nun geht man immer weiter runter und schaut ob die Zahl in den Rest unserer ursprünglichen Dezimalzahl passt. (163-128=35 | 64 > 35 -> 32 < 35 ) und immer so weiter, bis man am ende nur noch 0 Rest hat. Heraus kommt dann der Binärwert.

Beispiel:
```
163₁₀ = ?
   1  0  1  0 0 0 1 1₂ = 1+2+32+128 = 163₁₀
|128 64 32 16 8 4 2 1|
```

## Hexadezimal

Das Hexadezimal-system oder auch 16-System ist auch wie Binär und Dezimal einfach nur eine weitere Möglichkeit Zahlen anzugeben. Die Besonderheit hierbei ist jedoch, dass es Binär in eine viel kompaktere Form bringen kann. So wird dann aus 1111 plötzlich nur noch "F".

Diese kompakte Schreibweise wird oft für Adressen (IPv6, MAC-Adresse) oder für Speicher-Adressen im RAM.

### Rechnen mit Hexadezimal

Beispiel für Binär in Hex:
```
0010 1110 1101 1101 1110 1101₂ = 2EDDED₁₆
```

Beispiel für Hex in Binär:
```
AFFE2C₁₆ = 1010 1111 1111 1110 0010 1100₂
```

Beispiel für Dezimal in Hex:
```
451₁₀ = ?
451 : 16 = 28 R 3
28  : 16 = 1  R 12(C)
1   : 16 = 0  R 1
451₁₀ = 1C3₁₆
```

Beispiel für Hex in Dezimal:
```
AE2₁₆ = ?
(10*16^2) + (14*16^1) + (2*16^0) = 2786₁₀
```

## Umrechnungstabelle
```
   B  D H
0000  0 0
0001  1 1
0010  2 2
0011  3 3
0100  4 4
0101  5 5
0110  6 6
0111  7 7
1000  8 8
1001  9 9
1010 10 A
1011 11 B
1100 12 C
1101 13 D
1110 14 E
1111 15 F
```