\section{Codes} \label{sec:code}

\subsection{Was ist ein Code?}

In Kapitel \ref{sec:grund} haben wir gelernt was eine Codierung ist. Codes kommen hauptsächlich in vierer Gruppen vor (Tetraden) und neben den Binär Codierung gibt es viele weitere Codes.

\subsection*{Codes mit Tetraden}

\begin{tabular}{| c | c | c | c | c | c | c |}
	Binär & BCD & Excess-3 & Aiken & 4-2-2-1 & Gray & O'Brien \\
	\hline
	0000  & 0   &          & 0     & 0       & 0    &         \\
	0001  & 1   &          & 1     & 1       & 1    &         \\
	0010  & 2   &          & 2     & 2       & 3    & 0       \\
	0011  & 3   & 0        & 3     & 3       & 2    &         \\
	0100  & 4   & 1        & 4     &         & 7    & 4       \\
	0101  & 5   & 2        &       &         & 6    & 3       \\
	0110  & 6   & 3        &       & 4       & 4    & 1       \\
	0111  & 7   & 4        &       & 5       & 5    & 2       \\
	1000  & 8   & 5        &       &         &      &         \\
	1001  & 9   & 6        &       &         &      &         \\
	1010  &     & 7        &       &         &      & 9       \\
	1011  &     & 8        & 5     &         &      &         \\
	1100  &     & 9        & 6     & 6       & 8    & 5       \\
	1101  &     &          & 7     & 7       & 9    & 6       \\
	1110  &     &          & 8     & 8       &      & 7       \\
	1111  &     &          & 9     & 9       &      & 8       \\
\end{tabular}

Codes werden hauptsächlich verwendet, um Informationen zu speichern, Daten zu komprimieren und Fehlerkorrekturen und Verschlüsselungen von Nachrichtenübertragungen zu machen.

\subsection{Fehlererkennung und Fehlerkorrektur}

Bei der Übertragung von Codes können Fehler auftauchen. Deswegen werden neben den Codes auch Parity Bits übertragen. Parity kennzeichnen ob die Codierung gerade oder ungerade ist. Falls bei der Übertragung ein Fehler entstanden ist und der Parity Bit nicht übereinstimmt, so wird ein Fehler gemeldet.
\\
Eine weitere Stufe zur Fehlererkennung ist das Verwenden von einem Prüfwort. Das Prüfwort ist eine Codierung mit einem Parity Bit. Das Prüfwort wird gebildet durch die Addition von mehreren Codierungen, welche auf Fehler untersucht werden sollen. Dabei wird der Übertrag ignoriert. Hat das Prüfwort ein Fehler, so stimmt der Parity Bit nicht mehr überein und es wird nach der Falschen Codierung gesucht.
