3. Binärsystem: Erklärung

Alle Stellenwertsysteme unterscheiden sich nur darin, wie viele Ziffern sie verwenden. Z.B. hat das...

10er-System (= Dezimalsystem) die...

  • $10$ Ziffern $0, 1, ..., 9$, weshalb es auch die...

  • \begin{alignat*}{2} 10^0 &=~& 1& \text{er-Stelle}\\ 10^1 &=~& 10& \text{er-Stelle}\\ 10^2 &=~& 100& \text{er-Stelle}\\ 10^3 &=~& 1000& \text{er-Stelle}\\ 10^4 &=~& 10000& \text{er-Stelle...} \end{alignat*} ...gibt.

2er-System (= Binärsystem/Dualsystem) die...

  • $2$ Ziffern $0, 1$, weshalb es auch die...

  • \begin{alignat*}{2} 2^0 &=~& 1& \text{er-Stelle}\\ 2^1 &=~& 2& \text{er-Stelle}\\ 2^2 &=~& 4& \text{er-Stelle}\\ 2^3 &=~& 8& \text{er-Stelle}\\ 2^4 &=~& 16& \text{er-Stelle...}\\ \end{alignat*} ...gibt.

Da die Stellenwerte immer Potenzen von $10$ bzw. $2$ sind, nennt man die Zahl $10$ bzw. $2$ dann auch Basis.

Die Zahl...

Um nicht durcheinanderzukommen, notiert man häufig die Basis tiefgestellt neben die Zahl. Es gilt also

$$ 119_{10} = 1110111_{2} $$

Für die schnelle Umrechnung solltest du folgende 2er-Potenzen auswendig kennen.

\begin{alignat*}{1} 2^0 =&&~ 1_{10}\\ 2^1 =&&~ 2_{10}\\ 2^2 =&&~ 4_{10}\\ 2^3 =&&~ 8_{10}\\ 2^4 =&&~ 16_{10}\\ 2^5 =&&~ 32_{10}\\ 2^6 =&&~ 64_{10}\\ 2^7 =&&~ 128_{10}\\ 2^8 =&&~ 256_{10} \end{alignat*}

Basis 2 → Basis 10

Bsp.: $~~11001_{2} = ?_{10}$

\begin{alignat*}{1} & 11001_2\\[0.25cm] =~ & \begin{alignedat}[t]{2} ~& 1 ~\cdot~ & 16_{10}\\ +~& 1 ~\cdot~ & 8_{10}\\ +~& 0 ~\cdot~ & 4_{10}\\ +~& 0 ~\cdot~ & 2_{10}\\ +~& 1 ~\cdot~ & 1_{10} \end{alignedat}\\[0.25cm] =~ & 16_{10} ~+~ 8_{10} ~+~ 1_{10}\\ =~ & 25_{10} \end{alignat*}

Basis 10 → Basis 2

Bsp.: $~~25_{10} = ?_{2}$

  • Überlege, was die größte 2er-Potenz ist, die in die $25$ reinpasst. Das ist die $16$. Subtrahiere, es bleibt $9$ übrig.
  • Wiederhole so lange, bis du bei $0$ angelangt bist.
  • Notiere anschließend für jede 2er-Potenz, die reingepasst hat, eine $1$, und für jede 2er-Potenz, die nicht reingepasst hat, eine $0$, von links nach rechts.
\begin{align*} & 25_{10}\\[0.25cm] =~ &\begin{alignedat}[t]{2} ~& 1 \cdot ~& 16_{10}\\ +~& 1 \cdot ~& 8_{10}\\ +~& 0 \cdot ~& 4_{10}\\ +~& 0 \cdot ~& 2_{10}\\ +~& 1 \cdot ~& 1_{10} \end{alignedat}\\[0.25cm] =~ & 11001_2\\[0.25cm] \end{align*}

Bsp.: $~~25_{10} = ?_{2}$

  • Dividiere deine Zahl durch $2$ mit Rest, also $25 : 2 = 12$ Rest $1$. Es gibt zwei Möglichkeiten: Der Rest ist 0 oder der Rest ist 1. Notiere den Rest an die niedrigste Stelle der entstehenden Binärdarstellung.

  • Fahre weiter fort, also $12 : 2 = 6$ Rest $0$. usw...

Im Folgenden schreiben wir die Divisions-Rechnung...

$$ 25 : 2 = 12~~ \text{Rest}~~1 $$

...um als:

$$ 25 = 2 \cdot 12 + 1 $$

Mehrfach hintereinander angewandt ergibt dies dann einen sehr verschachtelten Term, bei dem wir dann aber ganz einfach die Stellenwerte im Binärsystem ablesen können.

\begin{align*} &~~~~~~25_{10}\\[0.25cm] &\begin{alignedat}[t]{2} &=~ 2\cdot 12_{10} & & &+1\\ &=~ 2\cdot (2 \cdot 6_{10} & &+0) &+1\\ &=~ 2\cdot (2 \cdot (2 \cdot (3_{10} &+0) &+0) &+1\\ &=~ 2\cdot (2 \cdot (2 \cdot (2 \cdot 1 +1) &+0) &+0) &+1\\[0.25cm] \end{alignedat}\\[0.25cm] &=~ 2^4\cdot 1 ~~+~~ 2^3 \cdot 1 ~~+~~ 2^2 \cdot 0 ~~+~~ 2^1 \cdot 0 ~~+~~ 2^0 \cdot 1\\ &=~ 11001_2 \end{align*}

Rechnen

Die vier Grundrechenarten funktionen in jedem Stellenwertsystem gleich.

Die folgenden Rechenoperationen können bitweise auf Binärzahlen angewendet werden. Dabei wird jede Stelle einzeln betrachtet.

Bitweise Konjunktion („und“)

Bitweise Disjunktion („oder“)

Bitweise Antivalenz („entweder oder“ = „ausschließendes oder“ = „exclusive or“ = „XOR“)

Fortgeschritten: Basiswechsel im Rechner

Für Menschen

Für Rechner

Die folgenden Potenzen sollte man in der 10er-Basis kennen.

\begin{alignat*}{1} 2^0 =&&~ 1_{10}\\ 2^1 =&&~ 2_{10}\\ 2^2 =&&~ 4_{10}\\ 2^3 =&&~ 8_{10}\\ 2^4 =&&~ 16_{10}\\ 2^5 =&&~ 32_{10}\\ 2^6 =&&~ 64_{10}\\ 2^7 =&&~ 128_{10}\\ 2^8 =&&~ 256_{10} \end{alignat*}

Die folgenden Potenzen sollte sich der Rechner in der 2er-Basis merken.

\begin{alignat*}{1} 10^0 =&&~ 1_2\\ 10^1 =&&~ 1010_2\\ 10^2 =&&~ 1100100_2\\ 10^3 =&&~ 1111101000_2\\ 10^4 =&&~ 10011100010000_2\\ \end{alignat*}

Folgende menschenfreundliche Anforderungen müssen erfüllt werden:

  • 2er-Potenzen in 10er-System kennen (Tabelle oben)
  • Addition im 10er-System

Siehe auch „Basis 2 → 10: Algorithmus“ weiter oben.

Folgende maschinenfreundliche Anforderungen müssen erfüllt werden:

  • 10er-Potenzen in 2er-System kennen (Tabelle oben)
  • 10er-Ziffern $0$ bis $9$ in 2er-System
  • „Division mit Rest“ im 2er-System

In jedem Schritt wird im 2er-System durch die größte 10er-Potenz mit Rest geteilt.

\begin{alignat*}{1} & \begin{tightarray}{llc} &~ 11101110_2 : & ~100_{10}\\ =&~ 11101110_2 : & ~1100100_2 \end{tightarray}\\ &{=}~ 10_2~~\text{Rest}~~100110_2\\ \end{alignat*}

Anders geschrieben:

\begin{align*} ~11101110_2 =&~ 10_2 \cdot 1100100_2 + 100110_2\\ =&~ 2_{10} \cdot 100_{10} + 100110_2\\ \end{align*}

Nun mehrfach hintereinander ausführen, bis alle Stellenwerte im 10er-System durchdividiert wurden. Die Ziffern im 10er-System sind nun ablesbar.

\begin{align*} & 11101110_2&&\\ =~ & 10_2 \cdot 1100100_2 &&+ 100110_2&\\ =~ & 2_{10} \cdot 100_{10} &&+ 100110_2&\\ =~ & 2_{10} \cdot 100_{10} &&+ 11_2 \cdot 1010_2 &&+ 1000_2\\ =~ & 2_{10} \cdot 100_{10} &&+ 3_{10} \cdot 10_{10} &&+ 1000_2\\ =~ & 2_{10} \cdot 100_{10} &&+ 3_{10} \cdot 10_{10} &&+ 1000_2 \cdot 1_2\\ =~ & 2_{10} \cdot 100_{10} &&+ 3_{10} \cdot 10_{10} &&+ 8_{10} \cdot 1_{10}\\ =~ & 238_{10} \end{align*}

Folgende menschenfreundliche Anforderungen müssen erfüllt werden:

  • 2er-Potenzen in 10er-System (Tabelle oben)
  • „Division mit Rest“ im 10er-System

Siehe auch „Basis 10 → 2: Algorithmus 2: Division mit Rest (schnell)“ weiter oben.

Folgende maschinenfreundliche Anforderungen müssen erfüllt werden:

  • 10er-Potenzen in 2er-System (Tabelle oben)
  • Multiplikation u. Addition im 2er-System
\begin{align*} & 205_{10}\\[0.25cm] = & \begin{aligned}[t] ~& 2_{10} \cdot & 100_{10}\\ +~& 0_{10} \cdot & 10_{10}\\ +~& 5_{10} \cdot & 1_{10}\end{aligned}\\[0.25cm] = & \begin{aligned}[t] ~& 10_{2} \cdot & 1100100_{2}\\ +~& 0_{2} \cdot & 1010_{2}\\ +~& 101_{2} \cdot & 1_{2}\end{aligned}\\[0.25cm] =~ & 11001000_{2}+101_{2}\\ =~ & 11001101_{2} \end{align*}

Versetze dich in die Lage des Rechners. Denke dir ein paar Zahlen im Binärsystem und im Dezimalsystem aus. Führe jeweils einen Basiswechsel durch, mit dem Algorithmus des Rechners (siehe die Boxen hierüber).