Zahlensysteme
Stellenwertsystem: numerisches System, bei dem der Wert einer Ziffer durch ihre Position und die Basis des Systems bestimmt wird
Binäres Zahlensystem
- Basis: 2
- 1 Bit: 2 Zustände (0 & 1)
- 8 Bit nennt man Oktett oder Byte
Umrechnung
Binär -> Dezimal
- Wert einer Stelle berechnen: Binärziffer * 2 Position der Binärziffer - 1
- Werte addieren
Beispiel
1101 -> (1 * 23) + (1 * 22) + (0 * 21) + (1 * 20) = 13
Dezimal -> Binär
Division mit ganzen Zahlen
- Division des Dezimalwertes durch 2
- Rest aufschreiben
- Geht auf -> Rest: 0
- Geht nicht auf -> Rest: 1
- Wenn das Ergebnis nicht 0 ist, wieder bei 1. mit dem Ergebnis starten
- Die Reste von unten nach oben ergeben die Binärzahl
Beispiel
Dezimalzahl: 13
- 13 / 2 = 6 R: 1
- 6 / 2 = 3 R: 0
- 3 / 2 = 1 R: 1
- 1 / 2 = 0 R: 1
13 -> 1101
Rechnungen
Addition
- Identisch zur schriftlichen Addition im Dezimalsystem
Beispiel
1011 + 1110

Multiplikation
- Identisch zur schriftlichen Multiplikation im Dezimalsystem
- Multiplikation ist komplexer als Addition
- Benötigt mehrere Taktzyklen
Beispiel
101 * 11

101 * 11 = 1111
Sonderfall: Multiplikation mit 2
- Bei einer Multiplikation mit 2 wird nur eine 0 angehängt
- Fachbegriff für diese Aktion: Bitshift
- Bitshift benötigt nur einen Taktzyklus
Subtraktion
Hexadezimales Zahlensystem
Basis: 16
Präfix: 0x
| Dezimal | 0-9 | 10 | 11 | 12 | 13 | 14 | 15 |
|---|---|---|---|---|---|---|---|
| Hexadezimal | 0-9 | A | B | C | D | E | F |
Umrechnung
Hexadezimal -> Binär
1 Hexadezimalziffer = 4 Binärstellen
- Hexadezimalziffern in je 4 Binärstellen umrechnen
- Binärstellen aneinanderhängen
Hexadezimal -> Dezimal
- Wert einer Stelle berechnen: Dezimale Wertigkeit der Hexadezimalziffer * 16 Position der Binärziffer - 1
- Werte addieren
Beispiel
0xAFFE -> (10 * 163) + (15 * 162) + (15 * 161) + (14 * 160) = 45054
Dezimal -> Hexadezimal
Möglichkeit 1: Division (TR)
Division mit ganzen Zahlen
- Division des Dezimalwertes durch 16
- Rest aufschreiben
- Wenn das Ergebnis nicht 0 ist, wieder bei 1. mit dem Ergebnis starten
- Die Reste von unten nach oben ergeben die Hexadezimalzahl
Beispiel
Dezimalzahl: 254
- 254 / 16 = 15 R: 14 -> E
- 15 / 16 = 0 R: 15 -> F
254 -> 0xFE
Möglichkeit 2: Über Binärsystem
- Division durch 2 ist einfacher als durch 16
- Binärergebnis in 4er Blöcke unterteilen
- 4er Blöcke in Hexadezimalzahl umrechnen
Beispiel
Dezimalzahl: 3925
- 3925 / 2 = 1962 R: 1
- 1962 / 2 = 981 R: 0
- 981 / 2 = 490 R: 1
- 490 / 2 = 245 R: 0
- 245 / 2 = 122 R: 1
- 122 / 2 = 61 R: 0
- 61 / 2 = 30 R: 1
- 30 / 2 = 15 R: 0
- 15 / 2 = 7 R: 1
- 7 / 2 = 3 R: 1
- 3 / 2 = 1 R: 1
- 1 / 2 = 0 R: 1
3925 -> 111101010101
1111 – 0101 – 0101
F 5 5
3925 -> 0xF55
Rechnungen
Addition
- Identisch zur schriftlichen Addition im Dezimalsystem
Beispiel
0xAFFE + 0x1111

Binäre Logik
- Binäre Variablen: Nur zwei Zustände (0 & 1)
- Logiktabelle: Enthält alle möglichen Kombinationen der Eingänge inklusive der entsprechenden Ausgänge
- Schaltfunktion: Mathematischer Zusammenhang zwischen Eingang und Ausgang
- Logikblock: Darstellung der logischen Verknüpfung der Variablen
Grundfunktionen
| Name | Logiktabelle | Funktion | Logikblock |
|---|---|---|---|
| Gleich | |||
| Nicht | |||
| Und | |||
| Oder |
Abgeleitete Verknüpfungen
| Name | Logiktabelle | Funktion | Logikblock |
|---|---|---|---|
| Exklusives Oder |
Disjunktive Normalform (ODER-Normalform)
- Spezielle Form einer logischen Formel
- Besteht aus beliebig vielen Konjunktionen (UND) verknüpft durch Disjunktionen (ODER)
Bildung einer DNF aus einer Wertetabelle
- Alle wahren Zeilen finden
- Konjunktion für jede wahre Zeile erstellen
- Jede erstellte Konjunktion mit einem ODER verknüpfen
Beispiel
- Drei Konjunktionen verbunden durch zwei ODER-Verknüpfungen
KV-Diagramm
- Diagramm um die minimalste Formel einer Schaltung zu ermitteln
- Anzahl der Zellen: 2 Anzahl der Eingangsvariablen
Minimalisierung mit einem KV-Diagramm aus einer Wertetabelle
- Übertragen der 1-Zustände in das KV-Diagramm
- Rest mit 0-Zuständen auffüllen
- Alle benachbarten Zellen umranden (auch über die Kanten des Diagramms hinaus auf die andere Seite)
- Einzelne Blöcke bestehen nur noch aus Variablen, die sich innerhalb des Blockes nicht verändern
- Blöcke mit ODER-Verknüpfungen miteinander verbinden
Beispiel

Volladdierer
- Addieren mit binären Operationen
- 3 Eingänge notwendig
- Erster Summand (x)
- Zweiter Summand (y)
- Carry – In: Übertrag von vorherigem Durchgang (Cin)
- 2 Ausgänge
- Summe aus erstem und zweitem Summanden (s)
- Carry – Out: Übertrag aus der Summe (Cout) -> wird Carry – In
Schaltung eines Volladierers

Wahrheitstabelle eines Volladdierers

Schaltung eines Halbaddierers

Quelle: https://www.youtube.com/watch?v=Od-9-vIJapo
Multiplexer
- Digitale Schaltung
- Mehrere Eingangssignale auf einen Ausgang
- Über Steuerleitungen wird entschieden welcher Eingang gewählt wird
- Typen:
- N-zu-1 Multiplexer: Wählt eines von N Eingangssignalen aus
- 1-zu-N Demultiplexer: Verteilt einen Ausgang auf einen von N Ausgängen
Anwendungen
- Datenübertragung: Telekommunikation verwendet Multiplexer, um mehrere Datenströme über eine Leitung zu übertragen
- Erhöht Effizienz
- Schaltnetzwerke: Multiplexer ermöglichen das Routing in Schaltnetzwerken
- Adressierung in Speichern: Zur Auswahl des richtigen Speicherorts in Speicheradressierungssystemen
Beispiele
1-Mux



2-Mux



Darstellung negativer Zahlen
Einerkomplement
- Veralteter Standard
- MSB: Most Significant Bit -> Das linkeste Bit
- MSB wird verwendet um das Vorzeichen zu wählen
- 0: Positiv
- 1: Negativ
- Größte Positive Zahl: 2Anzahl Bits – 1 – 1
- Größte Negative Zahl: -2Anzahl Bits – 1 – 1
Bildung des Einerkomplements
- Alle Bits einer Binärzahl invertieren
- Aus 0 wird 1
- Aus 1 wird 0
Beispiel
Binärzahl: 010110
Einerkomplement der Binärzahl: 101001
Subtraktion mit dem Einerkomplement
- Subtrahend invertieren um das Vorzeichen zu setzen
- Minuend und invertierten Subtrahend addieren
- Bei einem Überlauf, den Überlauf zum Ergebnis addieren
Beispiel
4-3
- 4: 0100
- 3: 0011
- Subtrahend Invertieren
- 0011 -> 1100
- 0100 + 1100 = 1 0000
- Überlauf addieren
- 0000 + 0001 = 0001
- Ergebnis: 1
Problem
- Wenn es einen Übertritt über 0 gibt
- Z.B. 6-4
Zweierkomplement
- Einheitliche Darstellung
- Löst einige Probleme des Einerkomplements
- MSB: Most Significant Bit -> das linkeste Bit
- MSB wird verwendet um das Vorzeichen zu wählen
- 0: Positiv
- 1: Negativ
- Größte Positive Zahl: 2Anzahl Bits – 1 – 1
- Größte Negative Zahl: -2Anzahl Bits – 1
Bildung des Zweierkomplements
- Binärzahl ermitteln
- Einerkomplement bilden
- 1 zum Einerkomplement addieren
Beispiel
- Binärzahl: 010110
- Einerkomplement: 010110 -> 101001
- 1 Addieren: 101001 + 1 = 101010
Subtraktion mit dem Zweierkomplement
- Zweierkomplement vom Subtrahend bilden
- Minuend und Subtrahend addieren
Beispiel
4-3
- 4: 0100
- 3: 0011
- Zweierkomplement bilden
- Einerkomplement bilden: 0011 -> 1100
- 1 Addieren: 1100 + 1 = 1101
- Addieren: 0100 + 1101 = 1 0001
- Übertrag entfällt, da nur 4 Bit
Rationale Zahlen
Festkommaarithmetik
- Position des Kommas ist vorgegeben
- Beispiel (8Bit)
- 4-Bits vor dem Komma
- 4-Bits nach dem Komma
- Beispiel (8Bit)
- Begrenzte Genauigkeit durch feste Kommaposition
- Grundrechenarten sind ähnlich wie bei Dezimalzahlen
- Anwendung in:
- Eingebetteten Systemen
- Anwendungen bei denen eine feste Anzahl von Bits vor/nach dem Komma erforderlich ist (Bildverarbeitung)

Vorteile
- Einfachheit
- Erfordert weniger komplexe Hardware
- Kann effizienter implementieret werden+
Nachteile
- Begrenzte Dynamik: Sehr große oder sehr kleine Werte werden ggf. ungenau
- Genauigkeitsverlust: Berechnung mit komplexen Zahlen kann zu Rundungsfehlern führen
Beispiel für Addition

Fließkommaarithmetik
- Komma kann verschoben werden
- Bestandteile:
- 1 Bit: Vorzeichen
- 8 Bit: Exponent
- 23 Bit: Mantisse
- Innerhalb der Mantisse lässt sich das Komma verschieben
- Große und kleine Zahlen mit unterschiedlicher Genauigkeit
- Hohe Dynamik und Genauigkeit
- Erfordert spezielle Algorithmen um den Exponenten und die Mantisse festzulegen
Vorteile
- Hohe Genauigkeit und Dynamik: Breiter Bereich von Zahlen mit unterschiedlicher Genauigkeit
- Flexibilität: Durch das Verschieben des Kommas
Nachteile
- Komplexität: Erfordert komplexe Algorithmen und Hardware
- Rundungsfehler: Bei komplexen Berechnungen oder Darstellung von Zahlen die nicht in das Gleitkommazahlenformat passen
Berechnung einer Gleitkommazahl
Dezimal -> Binär
- Vorzeichenbit festlegen
- Positiv: 0
- Negativ: 1
- Vorkommazahl umrechnen
- Nachkommazahl umrechnen
- Gesamtzahl bilden durch Verkettung von Vor- & Nachkommazahl
- Normieren: Es darf & muss nur eine 1 vor dem Komma stehen
- Verschiebung durch 2 Stellen um die Verschoben wird
- Alles nach dem Komma ist die Mantisse
- Exponent umrechnen: Verschobene Stellen + 127 = Exponent
- Verschobene Stellen können ggf. auch negativ sein
- In Binär umrechnen
- Vorzeichen, Exponent und Mantisse in dieser Reihenfolge verketten
- Rest mit 0en auffüllen
Beispiel
Ausgangszahl: 18,4
- Vorzeichen: Positiv -> 0
- Vorkommazahl: 18 -> 10010
Nachkommazahl umrechnen: 0,4 -> 0110- Gesamtzahl bilden: 10010,0110
- Normieren: Komma muss um 4 Stellen verschoben werden
- 10010,0110 = 1,00100110 * 24
- Mantisse: 00100110
- Exponent bestimmen: 4 + 127 = 131 -> 10000011
- Verketten und 0en auffüllen: 0 10000011 00100110 000000000000000
Binär -> Dezimal
- Einteilung in Vorzeichenbit, Exponent und Mantisse
- Vorzeichen merken
- Exponentenbereich in Dezimal umrechnen
- Dezimalzahl – 127 = Exponent
- Komma der Mantisse entsprechend verschieben
- Führende 1 vor dem Komma behalten!
- Vor- & Nachkommazahl in Dezimalumrechnen und verketten
- Vorzeichen setzen
Beispiel
Ausgangszahl: 10111111000000000000000000000000
- Einteilen: 1-01111110-00000000000000000000000
- Vorzeichen: 1 -> -
- Exponent in Dezimal: 126
- 126 – 127 = -1
- Komma der Mantisse verschieben: 1,0 -> 0,1
- In Dezimal umrechnen
- Vorkomma: 0 -> 0
- Nachkomma: 1 -> ,5
- Verketten: 0,5
- Vorzeichen setzen: -0,5