\chapter{Codierung}\index{Codierung} Was versteht man unter Codierung? \begin{description} \item[Codierung] Codierung ist die Darstellung von Informationen (analoge oder digitale Infos möglich) mit einem Alphabet (codierte Informationen sind bei uns also immer digital!). \item[Alphabet] endliche Menge von Symbolen. \item[Signal] physikalisch messbare Größe (\zB Spannung, Strom) \end{description} Es gibt verschiedene Codierungsgruppen \begin{enumerate}[noitemsep] \item \textbf{Zahlencodierung}: Es werden Zahlenwerte dargestellt \item \textbf{Zeichencodierung/Textcodierung}: Es werden Zeichen der Schriftsprache dargestellt \begin{itemize}[noitemsep] \item Unicode\index{Unicode} in Form von \textit{UTF-8} oder \textit{UTF-16} (potenziell unbeschränkt; erste 128 Zeichen entsprechen der ASCII Codierung) \item \textit{ASCII} (7-bit Code: 128 Zeichen) \item \textit{ISO-8859-X} (8-bit, 256 Zeichen; ASCII Zeichensatz, nur um 1 bit erweitert) $x \in \{1,2,3,...,15,...\}$ \begin{enumerate}[noitemsep] \item \enquote{$-1 $} ursprüngliche westeuropäische Variante \item \enquote{$-15$} heutige westeuropäische Variante (inkl. € Euro Zeichen) \end{enumerate} \end{itemize} \item \textbf{Anwendungscodierung}: Es werden Dokumente einer speziellen Anwendung dargestellt, \zB \textit{JPEG, MP3, DOCX, ODT, HTML, usw.} \item \textbf{Verschlüsselung} (Information wird umcodiert, damit sie ohne Kentniss des Verschlüsselungsverfahrens \enquote{informationslos}, also wertlos ist.) \item \textbf{Signalcodierung}: Zuordnung von (abstrakter) Info zu einem Signal \newline $\Rightarrow$ im späteren Verlauf der Vorlesung dazu mehr \ldots \end{enumerate} $\Rightarrow$ \textbf{Codierung ist wichtig für Speicherung oder Übertragung von Informationen!} \section{Zahlencodierung - Abzählsysteme} \begin{description} \item[Fingerabzählsystem] $Symbolmenge \{ Finger \}$ \newline Wert = Anzahl gezeigter Finger \newline Jedes Symbol hat einen Symbolwert, nämlich hier $ Finger \overset{\wedge}{=} 1$ \newline Der Gesamtwert ist die Summe aller dargestellten Symbolwerte \newline \textbf{Hinweis}: Potenziell kann jedes Symbol mehrfach auftreten! Bewertung: \begin{itemize}[noitemsep] \item $\oplus$ Darstellung und Verständnis extrem einfach. \item $\oplus$ Addition und Subtraktion extrem einfach \item $\ominus$ sehr kleiner beschränkter Wertebereich (max. 10 [Finger]) \item $\ominus$ keine negativen Zahlen \item $\ominus$ keine Teile von ganzen Zahlenwerten \item \textcircled{$\pm$} Multiplikation (und Division) mit erhöhtem Aufwand darstellbar \item $\ominus$ komplexere Rechenoperationen nicht darstellbar \end{itemize} \item[Strichliste] $Symbolmenge \{ I \}$ \newline Wert: $| = 1$ \newline Bewertung wie beim Fingerabzählsystem, zusätzlich: \begin{itemize}[noitemsep] \item $\oplus$ Substraktion ist ein wenig schwieriger durch das Entfernen von Strichen (aber immer noch einfach) \item $\ominus$ beschränkte Übersichtlichkeit: ab etwa 10 gleichen Symbolen unübersichtlich \item $\oplus$ unbeschränkter Wertebereich nach oben, \dash beliebig große Zahlen (aber weiterhin keine negativen Zahlen und keine Nicht-Ganzzahlen) \end{itemize} \item[Lattenzaunsystem] \hfill\newline Strichliste mit Querstrich $\rightarrow$ jeder 5. Strich wird als Querstrich über die vorangegangenen vier Striche notiert. \newline $Symbole \{ |, \bcancel{||||} \}$ $\Rightarrow$ zwei verschiedene Symbole Wert (|) = 1; Wert (\bcancel{||||}) = 5 \newline \textbf{Regel}: Symbole mit höherer Wertigkeit stehen immer link ($\rightarrow$ Wertigkeit absteigend) Bewertung wie bei der Strichliste, zusätzlich: \begin{itemize}[noitemsep] \item $\ominus$ Verständnis erschwert \item $\oplus$ etwas übersichtlicher \item $\pm/-$ Übersichtlichkeit beschränkt auf Werte bis etwa $10\times 5 = 50$ \item $\ominus$ erschwerte Addition und Subtraktion aufgrund von Umsortierung und Neugruppierung bzw. Entgruppierung \end{itemize} \item[römisches Zahlensystem] \hfill\newline Symbole und Symbolwerte: $\RNum{1} = 1$, $V = 5$, $X = 10$, $L = 50$, $C = 100$, $D = 500$, $M = 1000$ \newline \textbf{Spezialregel}: ein Symbol mit niedrigerer Wertigkeit notiert \textit{vor} einem Symbol mit höherer Wertigkeit $\Rightarrow$ Symbolwert wird abgezogen. Bewertung: \begin{itemize}[noitemsep] \item $\oplus$ potenziell übersichtlich bis etwa $10\times 1000 = 10.000$ \item $\ominus$ Einfachheit und Verständnis \item $\ominus$ Addition und Subtraktion recht komplex \end{itemize} \end{description}