• Keine Ergebnisse gefunden

Signed‐N‐Bit Binär in Dezimal umrechnen

N/A
N/A
Protected

Academic year: 2022

Aktie "Signed‐N‐Bit Binär in Dezimal umrechnen"

Copied!
25
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

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

(2)

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

(3)

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:

(4)

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

(5)

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.

(6)

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.

(7)

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

(8)

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

(9)

Logische Bausteine

(10)

Logische Bausteine

Kombinatorische Schaltungen

(11)

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

(12)

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:

(13)

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

(14)

Wahrheitstabellen

Jede Wahrheitstabelle kann man mit einem logischen Ausdruck darstellen. Beispiel:

A B C f(A,B,C)

0 0 0 1

0 0 1 1

0 1 0 0

0 1 1 1

1 0 0 1

1 0 1 0

1 1 0 1

1 1 1 1

Die Zeilen in obigem Ausdruck bezeichnet man als 

Minterme. Die Oder‐Verknüpfung aller Minterme ist die  disjunktive Normalform.

(15)

Wahrheitstabellen

Allgemein: für den Entwurf von digitalen Schaltungen verwendet man in der  Regel eine Darstellung von booleschen Funktionen mittels Normalformen.

A B C f(A,B,C)

0 0 0 1

0 0 1 1

0 1 0 0

0 1 1 1

1 0 0 1

1 0 1 0

1 1 0 1

1 1 1 1

Neben der disjunktiven Normalform gibt es noch die  Konjunktive Normalform (Und‐Verknüpfung aller  Maxterme)

(16)

Wahrheitstabellen

Bei der Suche nach möglichst kleinen kombinatorischen Schaltungen können auch sogenannte Don‘t ‐Care‐Terme recht hilfreich sein.

A B C f(A,B,C)

0 0 0 1

0 0 1 1

0 1 0 0

0 1 1 X

1 0 0 1

1 0 1 X

1 1 0 X

1 1 1 1

Don‘t‐Care Terme: In der kombinatorischen  Schaltung, die diese Funktion implementiert,  ist es egal welche Ausgabe die Schaltung für  die Eingaben 011, 101 und 110 produziert.

(17)

Wahrheitstabellen

In einer Wahrheitstabelle kann für die Eingaben auch mehrere Ausgabe‐Bits festgelegt werden. Beispiel:

Eingabe Bit 0

Eingabe Bit 1

Eingabe Bit 2

Ausgabe Bit 0

Ausgabe Bit 1

0 0 0 1 1

0 0 1 1 1

0 1 0 0 1

0 1 1 0 1

1 0 0 1 0

1 0 1 1 1

1 1 0 1 0

1 1 1 1 0

(18)

Beispiel: Addition zweier Bits mit Übertrag

A B s(A,B)=A+B c(A,B)=Carry 0 0

0 1 1 0 1 1

Wahrheitstabelle Boolesche Ausdrücke

Kombinatorische Schaltung

Ist das eine gute Schaltung?

Wie sieht n‐Bit‐Addition aus?

Mehr dazu gleich noch.

Im weiter fortgeschrittenen  Bereich der Vorlesung nehmen  wir logische Bauelemente als  Blackbox mit Eingängen und  Ausgängen an. Die Funktion des  Bausteins wird nur textuell 

beschrieben.

(19)

Logische Bausteine

Minimierung

(20)

Minimierung mittels Rechenregeln

Beispiel: Minimierung der folgenden DNF

(!A * !B * C) + (!A * B * !C) + (A * !B * !C) + (A * !B * C) + (A * B * !C) 

(21)

Minimierung mittels KV‐Diagramm

A B C D f(A,B,C,D)

0 0 0 0 1

0 0 0 1 1

0 0 1 0 0

0 0 1 1 0

0 1 0 0 1

0 1 0 1 0

0 1 1 0 0

0 1 1 1 1

1 0 0 0 0

1 0 0 1 0

1 0 1 0 0

1 0 1 1 0

1 1 0 0 1

1 1 0 1 0

1 1 1 0 1

Ordne Variablen einer 2‐, 3‐ oder 4‐Stelligen  Funktion in Tabelle so an, dass sich benachbarte  Felder nur in einer Variablen unterscheiden.

(22)

Minimierung mittels KV‐Diagramm

A B C D f(A,B,C,D)

0 0 0 0 1

0 0 0 1 1

0 0 1 0 0

0 0 1 1 0

0 1 0 0 1

0 1 0 1 0

0 1 1 0 0

0 1 1 1 1

1 0 0 0 1

1 0 0 1 0

1 0 1 0 0

1 0 1 1 0

1 1 0 0 1

1 1 0 1 0

1 1 1 0 1

1 1 1 1 1

Trage für alle Minterme eine 1 in dem Diagramm  ein.

(23)

Minimierung mittels KV‐Diagramm

A B C D f(A,B,C,D)

0 0 0 0 1

0 0 0 1 1

0 0 1 0 0

0 0 1 1 0

0 1 0 0 1

0 1 0 1 0

0 1 1 0 0

0 1 1 1 1

1 0 0 0 1

1 0 0 1 0

1 0 1 0 0

1 0 1 1 0

1 1 0 0 1

1 1 0 1 0

1 1 1 0 1

Fasse benachbarte 1en zu den größtmöglichen  Blöcken der Größe 2^n zusammen.

(24)

KV‐ Diagramm: Noch ein Beispiel

A B C D f(A,B,C,D)

0 0 0 0 1

0 0 0 1 X

0 0 1 0 0

0 0 1 1 0

0 1 0 0 1

0 1 0 1 0

0 1 1 0 X

0 1 1 1 1

1 0 0 0 X

1 0 0 1 0

1 0 1 0 1

1 0 1 1 0

1 1 0 0 1

1 1 0 1 0

1 1 1 0 0

1 1 1 1 0

Bemerkung 1: Don‘t cares können beliebig für 0  oder 1 stehen.

Bemerkung 2: Blöcke können auch über den KV‐

Diragrammrand hinaus reichen.

(25)

KV‐ Diagramm: Noch ein Beispiel

A B C D f(A,B,C,D)

0 0 0 0 1

0 0 0 1 0

0 0 1 0 0

0 0 1 1 1

0 1 0 0 1

0 1 0 1 0

0 1 1 0 1

0 1 1 1 1

1 0 0 0 1

1 0 0 1 0

1 0 1 0 1

1 0 1 1 1

1 1 0 0 0

1 1 0 1 0

1 1 1 0 1

Bemerkung 3: anstatt der 1en können auch die  0en zusammengefasst  werden (dann als DNF).

Referenzen

ÄHNLICHE DOKUMENTE

Greift das EPUB-Format einerseits durch die Leserichtung Charakteristika der Schriftrolle auf, lässt sich diese Analogie durch zwei genuin digitale Funktionalitäten

Kleinster Exponent müsste 00000000 und größter Exponent müsste 11111111  sein dann könnte man Exponent und Fraction für einen Vergleich

geschobenen Bits einfach abgeschnitten Zum

Ggf. ist die ALU auf  eine Operation  festgelegt. Dann  Entfällt der Eingang  und ALU wird mit  dem Namen der 

Kombinatorische Schaltungen.

Eingabe eines logischen Bausteins Ausgabe. eines

Die Daten sind also über einen direkten Blok, einen zweifah indirekten Blok und einen.. dreifah indirekten Blok erreihbar. Ein Blok enthält 2048 Byte, ein Zeiger

IT: Informatik Logische Schaltungen: AND + OR + NOT + NAND + NOR Logische Schaltungen. Schaltungen zu den