Initial Commit and Notes from HS24

This commit is contained in:
2025-02-24 08:06:04 +01:00
parent 2475ac9866
commit 1a445ee6fe
898 changed files with 24179 additions and 1 deletions

View File

@@ -0,0 +1,36 @@
\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.

View File

@@ -0,0 +1,4 @@
\chapter{Zahlen und Codes}
\input{zahlensysteme.tex}
\input{codes.tex}

View File

@@ -0,0 +1,56 @@
\section{Zahlensysteme}
\subsection{Was ist ein Zahlensystem?}
\dfn{Zahlensystem}{
Ein Zahlensystem ist eine Methode, um Zahlen darzustellen. Wir Menschen sind gewohnt, das Dezimalsystem zu verwenden. In der Digitaltechnik sind jedoch andere Zahlensysteme von grosser Bedeutung.
}
\subsection*{Zahlensysteme}
\begin{itemize}
\item Dezimalsystem stellt Zahlen in Zehnerpotenzen dar. (Basis = 10)
\item Oktalsystem stellt Zahlen in Achterpotenzen dar. (Basis = 8)
\item Dualsystem (Binärsystem) stellt Zahlen in Zweierpotenzen dar. (Basis = 2)
\item Hexadezimalsystem stellt Zahlen in sechszehnerpotenz dar. (Basis = 16)
\end{itemize}
\nt{
Da das Hexadezimalsystem über die Zahl 9 geht werden Buchstaben für die darauffolgenden Zahlen verwendet.
}
\nt{
Das Oktal- und Hexadezimalsystem wird verwendet um das Binärsystem kompakter zu machen. Sie können päckchenweise ineinander umgerechnet werden. \cite{Luisier2024}
}
\subsection{Umwandlung zwischen Zahlensystemen}
Wie vorher schon erwähnt können binär Zahlen sehr einfach in Oktalzahlen und Hexadezimalzahlen umgewandelt werden. Die Umwandlung von Dezimalzahlen in ein anderes Zahlensystem ist ein wenig komplizierter.
\\
Grundsätzlich gilt, dass wenn man vom Dezimalsystem in ein anderes System umwandelt, dass man die Zahl durch die korrespondierende Basis dividiert. Der Rest entspricht jeweils die Ziffer in der Codierung. Bei der Division von Zahlen $>1$ entsteht bei der ersten Division der MSB und bei der letzten Division der LSB. Bei Zahlen $<1$ ist es umgekehrt.
\subsection{Negative Dualzahlen (Zweierkomplement)}
Für negative Zahlen ist es am einfachsten, die negative Zahl ins Binärsystem umzuwandeln und diese, wenn nötig in das gefragte Zahlensystem umzuwandeln. Dabei geht man wie folgt vor.
\subsection*{Umwandlung von negativen Zahlen}
\begin{enumerate}
\item Den Betrag der negativen Zahl ins Binärsystem umwandeln.
\item Die umgewandelte negative Zahl invertieren. ($0 \rightarrow 1$ und $1 \rightarrow 0$)
\item Addiere 1 zum LSB.
\item Vorzeichenbit als MSB einfügen.
\end{enumerate}
\nt{
Die negative Zahl im Binärsystem wird Zweierkomplement genannt. Ob das Binärsystem oder das Zweierkomplementsystem verwendet wird, wird meistens in der Aufgabe gesagt.
}
Negative rationale Zahlen bestehen aus einem Vorzeichenbit, sowie $m$ Vorkomma- und $n$ Nachkommabits. Somit sind $1 + m + n$ Bits erforderlich. Das Komma wird vor den Vorkommabits eingefügt.
\subsection{Rechenoperationen mit Dualzahlen}
Die Addition von zwei Dualzahlen erfolgt bitweise, beginnend mit den LSB, von rechts nach links \cite{Luisier2024}. Falls die Codierungen nicht die gleiche Anzahl an Bits haben werden Nullen hinzugefügt.
\\
Für die Subtraktion ist es am einfachsten, die Zahl, welche subtrahiert wird ins Zweierkomplement umzuwandeln und anschliessend zur anderen Codierung zu addieren.