Grundlagen der Rechnerarchitektur
Binäre Logik, Arithmetik und
Digitaltechnik
Übersicht
• Logische Operationen
• Addition, Subtraktion und negative Zahlen
• Logische Bausteine
• Darstellung von Algorithmen
• Multiplikation
• Division
• Gleitkommazahlen
• Gleitkommaarithmetik
Logische Operationen
AND, OR und XOR
A B AND 0 0
0 1 1 0 1 1
A B OR 0 0
0 1 1 0 1 1
A B XOR 0 0
0 1 1 0 1 1
Beispiele:
1 0 1 0 1 1 1 0 0 1 1 1 0 0 1 AND 0 1 1 1 1 OR 1 1 1 0 1 XOR 1 0 1 0 1 --- --- ---
Notationen: Notationen: Notation:
NOT, NAND und NOR
A NOT 0
1
A B NAND 0 0
0 1 1 0 1 1
A B NOR 0 0
0 1 1 0 1 1 Beispiele:
1 1 0 0 1 1 1 0 0 1 NOT 1 1 0 0 1 NAND 1 1 1 0 1 NOR 1 0 1 0 1 --- --- ---
Notationen:
Rechenregeln auf logischen Ausdrücken
• Kommutativgesetz
• Assoziativgesetz
• Distributivgesetz
• De Morgansche Regeln
Rechenregeln auf logischen Ausdrücken
• Rechnen mit den Konstanten 0 und 1
• Doppelte Negation
• Kürzungsregeln
Logischer Links‐ und Rechts‐Shift
Links‐ und Rechts‐Shift am Beispiel von 8‐Bit‐Zahlen:
0 1 0 0 1 1 1 1 << 1 = 0 0 1 1 1 1 0 0 << 2 = 0 1 0 0 1 1 1 1 >> 1 = 1 1 1 1 0 0 0 0 >> 2 = Logischer Links‐Shift „b << x“:
Verschiebe Bits in b nach links, um den angegebenen Wert x.
Die neuen leeren Stellen werden mit 0 aufgefüllt.
Logischer Rechts‐Shift „b >> x“:
Verschiebe Bits nach rechts, um den angegeben Wert x.
Die neuen leeren Stellen werden mit 0 aufgefüllt.
Was bedeutet Shift um i?
Links‐Shift:
Rechts‐Shift:
Links‐ und Rechts‐Rotation
Links‐ und Rechts‐Rotation am Beispiel von 8‐Bit‐Zahlen:
Links‐Rotation um 2 Stellen:
0 1 0 0 1 1 1 1 -->
Rechts‐Rotation um 2 Stellen:
1 1 1 1 0 0 0 1 -->
Links‐Rotation von b um x Stellen:
Verschiebe Bits in b nach links, um den angegebenen Wert x.
Die leeren Stellen werden mit den herausgeschobenen aufgefüllt.
Rechts‐Rotation von b um x Stellen:
Verschiebe Bits nach rechts, um den angegeben Wert x.
Die leeren Stellen werden mit den herausgeschobenen aufgefüllt.
Addition, Subtraktion und negative Zahlen
Addition und Subtraktion von binären Zahlen
Beispiel C = A + B:
(Carry) 1 1 1 0 1 0 (A)
+ 1 0 1 0 1 1 (B) ---
= (C)
Beispiel C = A – B:
1 1 1 0 1 0 (A) - 1 0 1 0 1 1 (B)
(Carry) ---
= (C)
Darstellung von negativen binären Zahlen
Beobachtung für eine beliebige Binärzahl B, z.B. B=110010:
B
+ NOT(B)
---
= B + NOT(B) 1
+ (Carry)
---
Also gilt:
Quiz
Was ist die Dezimalzahl –7 als Binärzahl B in Zweierkomplement?
Zweierkomplement‐Binärzahl B=...1111011 als Dezimalzahl?
Subtraktion von binären Zahlen nochmal
Beispiel C = A – B:
1 1 1 0 1 0 (A) - 1 0 1 0 1 1 (B)
Bestimme Zweierkomplement zu B, also –B:
Also ist C:
(Carry) 1 1 1 0 1 0 (A)
+ ... 1 1 0 1 0 1 0 1 (-B) ---