• Keine Ergebnisse gefunden

Links‐ und Rechts‐Rotation

N/A
N/A
Protected

Academic year: 2022

Aktie "Links‐ und Rechts‐Rotation"

Copied!
21
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

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.

(2)

Was bedeutet Shift um i?

Links‐Shift:

Rechts‐Shift:

(3)

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.

(4)

Addition, Subtraktion und negative Zahlen

(5)

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)

(6)

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:

Bezeichnung: B = Einerkomplement, B+1 = Zweierkomplement

(7)

Quiz

Was ist die Dezimalzahl –7  als Binärzahl B in Zweierkomplement?

Zweierkomplement‐Binärzahl B=...1111011 als Dezimalzahl?

(8)

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) ---

= (C)

(9)

N‐Bit binäre Zahlen (signed)

n‐Bit‐Darstellung ist ein Fenster auf die ersten n Stellen der Binär‐Zahl

…0000000000000000000000000000000000000000000000000110 = 6

…1111111111111111111111111111111111111111111111111101 = -3

MSB bestimmt das Vorzeichen. MSB=0 bedeutet nicht‐negativ, MSB=1 bedeutet negativ.

Beispiel: 16‐Bit

Beispiel vorzeichenbehaftete 8‐Bit‐Binärzahlen:

0 0 0 0 0 0 0 0 = 0 1 0 0 0 0 0 0 0 = -128 0 0 0 0 0 0 0 1 = 1 1 0 0 0 0 0 0 1 = -127 0 0 0 0 0 0 1 0 = 2 1 0 0 0 0 0 1 0 = -126

. .

. .

. .

0 1 1 1 1 1 0 1 = 125 1 1 1 1 1 1 0 1 = -3 0 1 1 1 1 1 1 0 = 126 1 1 1 1 1 1 1 0 = -2 0 1 1 1 1 1 1 1 = 127 1 1 1 1 1 1 1 1 = -1

(10)

Nicht‐vorzeichenbehaftete Zahlen (unsigned)

n‐Bit‐Darstellung ist ein Fenster auf die ersten n Stellen der Binär‐Zahl

…0000000000000000000000000000000000000000000000000110 = 6

…0000000000000000000000000000000000001111111111111101 = 65533

MSB bestimmt das Vorzeichen nicht. Zahl ist immer nicht‐negativ.

Beispiel: 16‐Bit

Beispiel nicht‐vorzeichenbehaftete 8‐Bit‐Binärzahlen:

0 0 0 0 0 0 0 0 = 0 1 0 0 0 0 0 0 0 = 128 0 0 0 0 0 0 0 1 = 1 1 0 0 0 0 0 0 1 = 129 0 0 0 0 0 0 1 0 = 2 1 0 0 0 0 0 1 0 = 130

. .

. .

. .

0 1 1 1 1 1 0 1 = 125 1 1 1 1 1 1 0 1 = 253 0 1 1 1 1 1 1 0 = 126 1 1 1 1 1 1 1 0 = 254 0 1 1 1 1 1 1 1 = 127 1 1 1 1 1 1 1 1 = 255

(11)

Signed‐N‐Bit Binär in Dezimal umrechnen

Beispiel 8‐Bit‐Binärzahl B:

1 1 1 1 1 1 0 1 binär ist dezimal:

Beobachtung für folgende 8‐Bit‐Zahl C (Erinnerung: 10000000 binär ist –128):

1 0 0 0 0 1 0 1

Also für signed n‐Bit‐Binärzahl b = bn‐1 bn‐2 ... b0 gilt:

Beobachtung für folgende 8‐Bit‐Zahl C (Erinnerung: 10000000 binär ist –128):

1 0 0 0 0 1 0 1

Also für signed n‐Bit‐Binärzahl b = bn‐1 bn‐2 ... b0 gilt:

(12)

Sign‐Extension

Gegeben 6 und –3 in 16‐Bit‐Darstellung.

Wie sieht die 32‐Bit‐Binärdarstellung aus?

0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 6 in 16‐Bit‐Binärdarstellung

1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 –3 in 16‐Bit‐Binärdarstellung

6 in 32‐Bit‐Binärdarstellung?

–3 in 32‐Bit‐Binärdarstellung?

Erinnerung: n‐Bit‐Darstellung ist ein Fenster auf die ersten n Stellen der Binär‐Zahl

…0000000000000000000000000000000000000000000000000110 = 6

…1111111111111111111111111111111111111111111111111101 = -3

(13)

Arithmetischer Rechts‐Shift

Arithmetischer Rechts‐Shift am Beispiel von 8‐Bit‐Zahlen:

Arithmetischer Rechts‐Shift um 2 Stellen:

0 1 0 0 1 1 1 1 -->

Arithmetischer Rechts‐Shift um 2 Stellen:

1 1 1 1 0 0 0 1 -->

Arithmetischer Rechts‐Shift von b um x Stellen:

Verschiebe Bits nach rechts, um den angegeben Wert x.

Die neuen leeren Stellen werden mit dem Sign‐Bit aufgefüllt.

(14)

Overflow

Einschränkung auf n‐Bit kann einen Overflow bei Addition erzeugen:

(Carry) (A)

+ (B) ---

= (C) 0 1 0 1 1 0 1 0

0 1 1 0 0 1 1 1

Addition von negativer und nicht‐negativer Zahl. Overflow möglich?

Overflow erfordert, dass mindestens gilt:

Also Overflow in diesem Fall nicht möglich.

(15)

Overflow

Subtraktion von zwei negativen Zahlen x und y. Overflow möglich?

Der Fall „zwei nicht‐negativen Zahlen“ ist analog.

Also: Overflow in diesem Fall nicht möglich.

Zusammenfassung: Wann kann ein Overflow eintreten?

Operation Operand A Operand B Ergebnis welches Overflow anzeigt

A+B 0 0 < 0

A+B < 0 < 0 0

A–B 0 < 0 < 0

A–B < 0 0 0

(16)

Randbemerkung

Andere Darstellungsformen für negative Binärzahlen:

Einerkomplement: Negativer Wert von B ist NOT(B)

Sign‐and‐Magnitude: MSB ist das Vorzeichen. Rest ist der Wert.

Biased‐Notation (Beispielsweise mit 0 auf 1000...0000):

0000 0000 0000 0000 0000 0000 0000 0000 = kleinster negativer Wert 0000 0000 0000 0000 0000 0000 0000 0001 = kleinster negativer Wert + 1

...

0111 1111 1111 1111 1111 1111 1111 1111 = ‐1 1000 0000 0000 0000 0000 0000 0000 0000 = 0 1000 0000 0000 0000 0000 0000 0000 0001 = 1

...

1111 1111 1111 1111 1111 1111 1111 1110 = größter positiver Wert ‐1 1111 1111 1111 1111 1111 1111 1111 1111 = größter positiver Wert

(17)

Logische Bausteine

(18)

Logische Bausteine

Kombinatorische Schaltungen

(19)

Gatter

Funktion      Eingabe     Symbol     Ausgabe

AND

OR

NOT

Und‐Gatter

Oder‐Gatter

Inverter

Verallgemeinerung auf n Eingänge

Und‐Gatter mit n Eingängen A AND B

B

A B

A A

A OR B

NOT A

A1 A2

An

A1 A2

An

A1 AND A... AND An

A1 OR A... OR An

Oder‐Gatter mit n Eingängen

(20)

Kombinatorische Schaltungen

Jede boolesche  Funktion (gegeben als logischer Ausdruck) wie z.B. 

f(A,B) = NOT( NOT(A) OR B)

Lässt sich als kombinatorische Schaltung realisieren. Das Beispiel:

Inverter werden häufig abgekürzt dargestellt. Das Beispiel:

(21)

Wahrheitstabellen

Jede boolesche Funktion lässt mit einer Wahrheitstabelle darstellen.

Beispiel: f(A,B,C) = A AND NOT(B OR C) als Wahrheitstabelle

A B C B OR C NOT(B OR C) f(A,B,C)=A AND NOT(B OR C) 0 0 0

0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1

Referenzen

ÄHNLICHE DOKUMENTE

In weiteren Schrit- ten soll der Verhältniswert zwi- schen aktuellem Rentenwert (Ost) und dem Westwert jedes Jahr um 0,7 Prozentpunkte angehoben werden, bis der

Lilli steht auf ihrem rechten Fuß und hebt ihre rechte Hand hoch. Emma steht auf ihrem linken Fuß und hebt ihre linke

Copyright: H-Faktor GmbH, Niekao Lernwelten, Dortmund Verantwortlich für den Inhalt: Udo Kiel Autorin: Jana Bredemeier, Zeichnungen: cliparts2go Niekao Lernwelten ® 07/2012 ;

Sind die Kinder in der Lage, die verschiedenen Lagebezeichnungen selber zu benennen, können sie dieses Spiel auch zu zweit oder zu dritt spielen.. Dabei wechseln sich die Kinder

Der grüne Kegel steht zwischen dem roten und dem gelben Kegel, wobei der Gelbe links und der Rote rechts steht.. Der rote Kegel steht links vom grünen Kegel und der gelbe Kegel

Ziehe Linien von den Gegenständen an an folgende Stellen: (Wenn du Lust hast, kannst du die Kärtchen auch ausschneiden und an die richtige Stelle legen).. Markiere das Ziel mit

[r]

Wie viele Personen gehen nach links und wie viele Personen gehen nach rechts?. Rechts