DuE-Tutorien 16 und 17tutorium.chrismandery.de/WS1011/tutorium2.pdf · 2 0010 7 0111 3 0011 8 1000...

Post on 17-Jul-2019

215 views 0 download

Transcript of DuE-Tutorien 16 und 17tutorium.chrismandery.de/WS1011/tutorium2.pdf · 2 0010 7 0111 3 0011 8 1000...

1 Christian A. Mandery:DuE-Tutorien 16 und 17

Fakultät für Informatik

Tutorienwoche 2 am 12.11.2010

DuE-Tutorien 16 und 17Tutorien zur Vorlesung “Digitaltechnik und Entwurfsverfahren”

KIT – Universität des Landes Baden-Württemberg undnationales Grossforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu

Heute

2 Christian A. Mandery:DuE-Tutorien 16 und 17

Fakultät für Informatik

BCD-CodeGray-CodeAiken-CodeStibitz-CodeGleitzomma-DarstellungIEEE 754Übungsaufgaben

BCD-Code: Einführung

3 Christian A. Mandery:DuE-Tutorien 16 und 17

Fakultät für Informatik

Binary Coded DecimalJe vier Bits werden zu einer dezimalen Stelle zusammengefasst undals Tetrade bezeichnetDie hexadezimalen Ziffern, die keine dezimale Ziffer darstellen (A-F)werden als Pseudotetraden bezeichnet und sind ungültigKommadarstellung z.B. durch Festkomma-DarstellungBeispiel: 1001010100010111BCD = 951710

BCD-Code: Codetabelle

4 Christian A. Mandery:DuE-Tutorien 16 und 17

Fakultät für Informatik

Wert Codewort Wert Codewort0 0000 5 01011 0001 6 01102 0010 7 01113 0011 8 10004 0100 9 1001

Vor- und Nachteile des BCD-Code?

BCD-Code: Codetabelle

4 Christian A. Mandery:DuE-Tutorien 16 und 17

Fakultät für Informatik

Wert Codewort Wert Codewort0 0000 5 01011 0001 6 01102 0010 7 01113 0011 8 10004 0100 9 1001

Vor- und Nachteile des BCD-Code?

Gray-Code

5 Christian A. Mandery:DuE-Tutorien 16 und 17

Fakultät für Informatik

Code, bei dem sich benachbarte Codewörter nur in einer ZifferunterscheidenAuch das niedrigste und höchste Codewort sind als benachbart zubetrachtenGray-Code für 3 Bit:

Wert Codewort Wert Codewort0 000 4 1101 001 5 1112 011 6 1013 010 7 100

Vor- und Nachteile?

Gray-Code

5 Christian A. Mandery:DuE-Tutorien 16 und 17

Fakultät für Informatik

Code, bei dem sich benachbarte Codewörter nur in einer ZifferunterscheidenAuch das niedrigste und höchste Codewort sind als benachbart zubetrachtenGray-Code für 3 Bit:

Wert Codewort Wert Codewort0 000 4 1101 001 5 1112 011 6 1013 010 7 100

Vor- und Nachteile?

Aiken-Code

6 Christian A. Mandery:DuE-Tutorien 16 und 17

Fakultät für Informatik

Ähnlich dem BCD-Code, aber mit den Wertigkeiten 2-4-2-1Pseudotetraden sind hier 5 bis A

Aiken(n) = not Aiken(9 - n)Berechnung von 9 - n (Neunerkomplement) ist sehr einfachWas nützt einem das?

Aiken-Code für 4 Bit:Wert Codewort Wert Codewort

0 0000 5 10111 0001 6 11002 0010 7 11013 0011 8 11104 0100 9 1111

Vor- und Nachteile?

Aiken-Code

6 Christian A. Mandery:DuE-Tutorien 16 und 17

Fakultät für Informatik

Ähnlich dem BCD-Code, aber mit den Wertigkeiten 2-4-2-1Pseudotetraden sind hier 5 bis A

Aiken(n) = not Aiken(9 - n)Berechnung von 9 - n (Neunerkomplement) ist sehr einfachWas nützt einem das?

Aiken-Code für 4 Bit:Wert Codewort Wert Codewort

0 0000 5 10111 0001 6 11002 0010 7 11013 0011 8 11104 0100 9 1111

Vor- und Nachteile?

Stibitz-Code

7 Christian A. Mandery:DuE-Tutorien 16 und 17

Fakultät für Informatik

Entspricht dem BCD-Code, wenn man zu jeder Ziffer 3 addiertPseudotetraden sind 0 bis 2 und D bis FBereich der gültigen Tetraden ist “zentriert”Daher wieder einfache Berechnung von Neunerkomplement durchNegation (wie Aiken-Code)

Codetabelle:Wert Codewort Wert Codewort

0 0011 5 10001 0100 6 10012 0101 7 10103 0110 8 10114 0111 9 1100

Vor- und Nachteile?

Stibitz-Code

7 Christian A. Mandery:DuE-Tutorien 16 und 17

Fakultät für Informatik

Entspricht dem BCD-Code, wenn man zu jeder Ziffer 3 addiertPseudotetraden sind 0 bis 2 und D bis FBereich der gültigen Tetraden ist “zentriert”Daher wieder einfache Berechnung von Neunerkomplement durchNegation (wie Aiken-Code)

Codetabelle:Wert Codewort Wert Codewort

0 0011 5 10001 0100 6 10012 0101 7 10103 0110 8 10114 0111 9 1100

Vor- und Nachteile?

Bisher: Festkomma-Darstellung

8 Christian A. Mandery:DuE-Tutorien 16 und 17

Fakultät für Informatik

Das Komma wird an eine feste Stelle verfügt, mit derentsprechenden Wertigkeit der StellenBeispiel für Format mit drei Nachkommazahlen:

Stelle Wertigkeit0. Bit (LSB) 1/8

1. Bit 1/42. Bit 1/23. Bit 14. Bit 2

... ...

Probleme der Festkomma-Darstellung

9 Christian A. Mandery:DuE-Tutorien 16 und 17

Fakultät für Informatik

Festkomma-Darstellung hat Vorteile ...Assoziativgesetz giltKeine Auslöschung

... aber auch Nachteile:Sehr große und sehr kleine Zahlen nicht darstellbarDifferenz von aufeinanderfolgenden Zahlen ist über den ganzenZahlenbereich gleich groß

→ Gleitkommazahlen

Gleitkomma-Darstellung

10 Christian A. Mandery:DuE-Tutorien 16 und 17

Fakultät für Informatik

Eine Gleitkommazahl wird durch drei Werte beschrieben:Vorzeichen-BitMantisse: Ziffern der Gleitkommazahl (als Nachkommastellen)Exponent: Verschiebung der Mantisse, um die Zahl zu erhalten

Der Exponent wird in der Offset-Darstellung (Exzess-Code)gespeichert und dann als Charakteristik bezeichnetBerechnung des Werts der Gleitkommazahl:

Zahl = (−1)Vorzeichen−Bit ∗ (0, Mantisse) ∗ bExponent

Achtung: Bei normierter Darstellung steht vor dem Komma eine Eins!Die Basis b ist meistens 2

Gleitkomma-Darstellung

10 Christian A. Mandery:DuE-Tutorien 16 und 17

Fakultät für Informatik

Eine Gleitkommazahl wird durch drei Werte beschrieben:Vorzeichen-BitMantisse: Ziffern der Gleitkommazahl (als Nachkommastellen)Exponent: Verschiebung der Mantisse, um die Zahl zu erhalten

Der Exponent wird in der Offset-Darstellung (Exzess-Code)gespeichert und dann als Charakteristik bezeichnetBerechnung des Werts der Gleitkommazahl:

Zahl = (−1)Vorzeichen−Bit ∗ (0, Mantisse) ∗ bExponent

Achtung: Bei normierter Darstellung steht vor dem Komma eine Eins!Die Basis b ist meistens 2

Gleitkomma-Darstellung

10 Christian A. Mandery:DuE-Tutorien 16 und 17

Fakultät für Informatik

Eine Gleitkommazahl wird durch drei Werte beschrieben:Vorzeichen-BitMantisse: Ziffern der Gleitkommazahl (als Nachkommastellen)Exponent: Verschiebung der Mantisse, um die Zahl zu erhalten

Der Exponent wird in der Offset-Darstellung (Exzess-Code)gespeichert und dann als Charakteristik bezeichnetBerechnung des Werts der Gleitkommazahl:

Zahl = (−1)Vorzeichen−Bit ∗ (0, Mantisse) ∗ bExponent

Achtung: Bei normierter Darstellung steht vor dem Komma eine Eins!Die Basis b ist meistens 2

Normalisierte Gleitkommazahlen

11 Christian A. Mandery:DuE-Tutorien 16 und 17

Fakultät für Informatik

Jeder Binärzahl außer der Null enthält irgendwo eine EinsWenn die Zahl nicht zu klein ist, kann man die erste Eins mit demExponent immer vor das Komma schieben→ Normalisierte DarstellungDurch eine implizite Eins statt Null vor dem Komma gewinnt man einBit GenauigkeitAber: Man braucht dann eine spezielle Darstellung für die Null (undggf. sehr kleine Zahlen)

Normalisierte Gleitkommazahlen

11 Christian A. Mandery:DuE-Tutorien 16 und 17

Fakultät für Informatik

Jeder Binärzahl außer der Null enthält irgendwo eine EinsWenn die Zahl nicht zu klein ist, kann man die erste Eins mit demExponent immer vor das Komma schieben→ Normalisierte DarstellungDurch eine implizite Eins statt Null vor dem Komma gewinnt man einBit GenauigkeitAber: Man braucht dann eine spezielle Darstellung für die Null (undggf. sehr kleine Zahlen)

Aufbau von Gleitkommazahlen

12 Christian A. Mandery:DuE-Tutorien 16 und 17

Fakultät für Informatik

Um ein einheitliches Format zu verwenden, legt man fest, welcheBits der Gleitkommazahl Vorzeichen, Mantisse und ExponentspezifizierenEine solche Festlegung macht der IEEE 754-Standard (“IEEEStandard for Binary Floating-Point Arithmetic for MicroprocessorSystems”)

Spezielle Gleitkommazahlen

13 Christian A. Mandery:DuE-Tutorien 16 und 17

Fakultät für Informatik

Bestimmte Gleitkommazahlen, mit denen man eineGleitkomma-Darstellung charakterisieren kann, haben einenspeziellen Wert.

Maxreal: Größte normalisierte ZahlMinreal: Kleinste normalisierte ZahlSmallreal: Kleinste Zahl x mit 1 + x 6= 1

IEEE 754: Formate

14 Christian A. Mandery:DuE-Tutorien 16 und 17

Fakultät für Informatik

Single Precision (“float“):32 Bit = 1 Bit Vorzeichen + 8 Bit Charakteristik + 23 Bit MantisseOffset für Charakteristik: 127

Double Precision (”double”):64 Bit = 1 Bit Vorzeichen + 11 Bit Charakteristik + 52 Bit MantisseOffset für Charakteristik: 1023

IEEE 754: Formate

14 Christian A. Mandery:DuE-Tutorien 16 und 17

Fakultät für Informatik

Single Precision (“float“):32 Bit = 1 Bit Vorzeichen + 8 Bit Charakteristik + 23 Bit MantisseOffset für Charakteristik: 127

Double Precision (”double”):64 Bit = 1 Bit Vorzeichen + 11 Bit Charakteristik + 52 Bit MantisseOffset für Charakteristik: 1023

IEEE 754: Charakteristik

15 Christian A. Mandery:DuE-Tutorien 16 und 17

Fakultät für Informatik

1 ≤ Charakteristik ≤ 254:Exponent = Charakteristik − 127Normalisierung

Charakteristik = 0:Kleinstmöglicher Exponent (-126)Keine Normalisierung (nur so ist die Null darstellbar!)

Charakteristik = 255:Mantisse = 0: Überlauf (“unendlich”)Mantisse 6= 0: NaN (“Not a Number”)

IEEE 754: Charakteristik

15 Christian A. Mandery:DuE-Tutorien 16 und 17

Fakultät für Informatik

1 ≤ Charakteristik ≤ 254:Exponent = Charakteristik − 127Normalisierung

Charakteristik = 0:Kleinstmöglicher Exponent (-126)Keine Normalisierung (nur so ist die Null darstellbar!)

Charakteristik = 255:Mantisse = 0: Überlauf (“unendlich”)Mantisse 6= 0: NaN (“Not a Number”)

IEEE 754: Charakteristik

15 Christian A. Mandery:DuE-Tutorien 16 und 17

Fakultät für Informatik

1 ≤ Charakteristik ≤ 254:Exponent = Charakteristik − 127Normalisierung

Charakteristik = 0:Kleinstmöglicher Exponent (-126)Keine Normalisierung (nur so ist die Null darstellbar!)

Charakteristik = 255:Mantisse = 0: Überlauf (“unendlich”)Mantisse 6= 0: NaN (“Not a Number”)

Übungsaufgabe 1

16 Christian A. Mandery:DuE-Tutorien 16 und 17

Fakultät für Informatik

Vervollständigen Sie folgende Tabelle:

Dezimalzahl BCD-Kode AIKEN-Kode STIBITZ-Kode13,78

10010111,10011001,00011010

0110,01000111

Übungsaufgabe 2

17 Christian A. Mandery:DuE-Tutorien 16 und 17

Fakultät für Informatik

Gegeben sei das folgende Maschinenformat für die Darstellung vonGleitkommazahlen:Bit 31: Vorzeichen, Bits 30 - 24: Charakteristik, Bits 23 - 0: Mantisse

Vorzeichen: VZ = 0→ positive Zahl, VZ = 1→ negative ZahlCharakteristik = Exponent + 4016

Basis 16Die Mantisse liegt im Zahlenbereich 16−1 ≤ Mantisse ≤ (1− 16−6).1. Geben Sie in obigem Format die größte und die kleinste negative

Zahl in normalisierter und nicht-normalisierter Maschinendarstellungan.

2. Was sind die Vor- und Nachteile, wenn man statt der Basis 16 dieBasis 2 verwendet?

3. Was ändert sich, wenn man (im Fall der Basis 2) ein Bit derMantisse aufgibt zugunsten eines Bits für die Charakterisik?

Übungsaufgabe 2

17 Christian A. Mandery:DuE-Tutorien 16 und 17

Fakultät für Informatik

Gegeben sei das folgende Maschinenformat für die Darstellung vonGleitkommazahlen:Bit 31: Vorzeichen, Bits 30 - 24: Charakteristik, Bits 23 - 0: Mantisse

Vorzeichen: VZ = 0→ positive Zahl, VZ = 1→ negative ZahlCharakteristik = Exponent + 4016

Basis 16Die Mantisse liegt im Zahlenbereich 16−1 ≤ Mantisse ≤ (1− 16−6).1. Geben Sie in obigem Format die größte und die kleinste negative

Zahl in normalisierter und nicht-normalisierter Maschinendarstellungan.

2. Was sind die Vor- und Nachteile, wenn man statt der Basis 16 dieBasis 2 verwendet?

3. Was ändert sich, wenn man (im Fall der Basis 2) ein Bit derMantisse aufgibt zugunsten eines Bits für die Charakterisik?

Übungsaufgabe 2

17 Christian A. Mandery:DuE-Tutorien 16 und 17

Fakultät für Informatik

Gegeben sei das folgende Maschinenformat für die Darstellung vonGleitkommazahlen:Bit 31: Vorzeichen, Bits 30 - 24: Charakteristik, Bits 23 - 0: Mantisse

Vorzeichen: VZ = 0→ positive Zahl, VZ = 1→ negative ZahlCharakteristik = Exponent + 4016

Basis 16Die Mantisse liegt im Zahlenbereich 16−1 ≤ Mantisse ≤ (1− 16−6).1. Geben Sie in obigem Format die größte und die kleinste negative

Zahl in normalisierter und nicht-normalisierter Maschinendarstellungan.

2. Was sind die Vor- und Nachteile, wenn man statt der Basis 16 dieBasis 2 verwendet?

3. Was ändert sich, wenn man (im Fall der Basis 2) ein Bit derMantisse aufgibt zugunsten eines Bits für die Charakterisik?

Übungsaufgabe 2

17 Christian A. Mandery:DuE-Tutorien 16 und 17

Fakultät für Informatik

Gegeben sei das folgende Maschinenformat für die Darstellung vonGleitkommazahlen:Bit 31: Vorzeichen, Bits 30 - 24: Charakteristik, Bits 23 - 0: Mantisse

Vorzeichen: VZ = 0→ positive Zahl, VZ = 1→ negative ZahlCharakteristik = Exponent + 4016

Basis 16Die Mantisse liegt im Zahlenbereich 16−1 ≤ Mantisse ≤ (1− 16−6).1. Geben Sie in obigem Format die größte und die kleinste negative

Zahl in normalisierter und nicht-normalisierter Maschinendarstellungan.

2. Was sind die Vor- und Nachteile, wenn man statt der Basis 16 dieBasis 2 verwendet?

3. Was ändert sich, wenn man (im Fall der Basis 2) ein Bit derMantisse aufgibt zugunsten eines Bits für die Charakterisik?

Übungsaufgabe 3

18 Christian A. Mandery:DuE-Tutorien 16 und 17

Fakultät für Informatik

Wandeln Sie die Dezimalzahl 21 in das 32-Bit-Format desIEEE-754-Standard um. Stellen Sie die Gleitkommazahl alshexadezimale Zahl dar.

Verbleibende Aufgaben der Übung

19 Christian A. Mandery:DuE-Tutorien 16 und 17

Fakultät für Informatik

(nicht enthalten auf diesem Foliensatz, siehe Folien Ü1-40 ff.)

Fertig!

20 Christian A. Mandery:DuE-Tutorien 16 und 17

Fakultät für Informatik

Quelle: http://xkcd.com/138/