Upload
vuongdang
View
212
Download
0
Embed Size (px)
Citation preview
TUTORIENWOCHE 2 AM 11.11.2011
DuE-Tutorien 17 und 18Tutorien zur Vorlesung “Digitaltechnik und Entwurfsverfahren”
Christian A. Mandery
KIT – Universitat des Landes Baden-Wurttemberg und
nationales Forschungszentrum in der Helmholtz-Gemeinschaft
www.kit.edu
Heute
BCD-Code
Gray-Code
Aiken-Code
Stibitz-Code
Gleitkomma-Darstellung
IEEE 754
Ubungsaufgaben
Heute BCD-Code Gray-Code Aiken-Code Stibitz-Code Gleitkomma-Darstellung IEEE 754 Ubungsaufgaben
Christian A. Mandery – DuE-Tutorien 17 und 18 2/19
BCD-Code: Einfuhrung
Binary Coded Decimal
Je vier Bits werden zu einer dezimalen Stelle zusammengefasst undals Tetrade bezeichnet
Die hexadezimalen Ziffern, die keine dezimale Ziffer darstellen (A-F)werden als Pseudotetraden bezeichnet und sind ungultig
Kommadarstellung z.B. durch Festkomma-Darstellung
Beispiel: 1001010100010111BCD = 951710
Heute BCD-Code Gray-Code Aiken-Code Stibitz-Code Gleitkomma-Darstellung IEEE 754 Ubungsaufgaben
Christian A. Mandery – DuE-Tutorien 17 und 18 3/19
BCD-Code: Codetabelle
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?
Heute BCD-Code Gray-Code Aiken-Code Stibitz-Code Gleitkomma-Darstellung IEEE 754 Ubungsaufgaben
Christian A. Mandery – DuE-Tutorien 17 und 18 4/19
BCD-Code: Codetabelle
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?
Heute BCD-Code Gray-Code Aiken-Code Stibitz-Code Gleitkomma-Darstellung IEEE 754 Ubungsaufgaben
Christian A. Mandery – DuE-Tutorien 17 und 18 4/19
Gray-Code
Code, bei dem sich benachbarte Codeworter nur in einer Zifferunterscheiden
Auch das niedrigste und hochste Codewort sind als benachbart zubetrachten
Gray-Code fur 3 Bit:
Wert Codewort Wert Codewort0 000 4 1101 001 5 1112 011 6 1013 010 7 100
Vor- und Nachteile?
Heute BCD-Code Gray-Code Aiken-Code Stibitz-Code Gleitkomma-Darstellung IEEE 754 Ubungsaufgaben
Christian A. Mandery – DuE-Tutorien 17 und 18 5/19
Gray-Code
Code, bei dem sich benachbarte Codeworter nur in einer Zifferunterscheiden
Auch das niedrigste und hochste Codewort sind als benachbart zubetrachten
Gray-Code fur 3 Bit:
Wert Codewort Wert Codewort0 000 4 1101 001 5 1112 011 6 1013 010 7 100
Vor- und Nachteile?
Heute BCD-Code Gray-Code Aiken-Code Stibitz-Code Gleitkomma-Darstellung IEEE 754 Ubungsaufgaben
Christian A. Mandery – DuE-Tutorien 17 und 18 5/19
Aiken-Code
Ahnlich 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 nutzt einem das?
Aiken-Code fur 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?
Heute BCD-Code Gray-Code Aiken-Code Stibitz-Code Gleitkomma-Darstellung IEEE 754 Ubungsaufgaben
Christian A. Mandery – DuE-Tutorien 17 und 18 6/19
Aiken-Code
Ahnlich 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 nutzt einem das?
Aiken-Code fur 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?
Heute BCD-Code Gray-Code Aiken-Code Stibitz-Code Gleitkomma-Darstellung IEEE 754 Ubungsaufgaben
Christian A. Mandery – DuE-Tutorien 17 und 18 6/19
Stibitz-Code
Entspricht dem BCD-Code, wenn man zu jeder Ziffer 3 addiertPseudotetraden sind 0 bis 2 und D bis FBereich der gultigen 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?
Heute BCD-Code Gray-Code Aiken-Code Stibitz-Code Gleitkomma-Darstellung IEEE 754 Ubungsaufgaben
Christian A. Mandery – DuE-Tutorien 17 und 18 7/19
Stibitz-Code
Entspricht dem BCD-Code, wenn man zu jeder Ziffer 3 addiertPseudotetraden sind 0 bis 2 und D bis FBereich der gultigen 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?
Heute BCD-Code Gray-Code Aiken-Code Stibitz-Code Gleitkomma-Darstellung IEEE 754 Ubungsaufgaben
Christian A. Mandery – DuE-Tutorien 17 und 18 7/19
Bisher: Festkomma-Darstellung
Das Komma wird an eine feste Stelle verfugt, mit der entsprechendenWertigkeit der Stellen
Beispiel fur Format mit drei Nachkommazahlen:
Stelle Wertigkeit0. Bit (LSB) 1/8
1. Bit 1/42. Bit 1/23. Bit 14. Bit 2
... ...
Heute BCD-Code Gray-Code Aiken-Code Stibitz-Code Gleitkomma-Darstellung IEEE 754 Ubungsaufgaben
Christian A. Mandery – DuE-Tutorien 17 und 18 8/19
Probleme der Festkomma-Darstellung
Festkomma-Darstellung hat Vorteile ...Assoziativgesetz giltKeine Ausloschung
... aber auch Nachteile:Sehr große und sehr kleine Zahlen nicht darstellbarDifferenz von aufeinanderfolgenden Zahlen ist uber den ganzenZahlenbereich gleich groß
→ Gleitkommazahlen
Heute BCD-Code Gray-Code Aiken-Code Stibitz-Code Gleitkomma-Darstellung IEEE 754 Ubungsaufgaben
Christian A. Mandery – DuE-Tutorien 17 und 18 9/19
Gleitkomma-Darstellung
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
Heute BCD-Code Gray-Code Aiken-Code Stibitz-Code Gleitkomma-Darstellung IEEE 754 Ubungsaufgaben
Christian A. Mandery – DuE-Tutorien 17 und 18 10/19
Gleitkomma-Darstellung
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
Heute BCD-Code Gray-Code Aiken-Code Stibitz-Code Gleitkomma-Darstellung IEEE 754 Ubungsaufgaben
Christian A. Mandery – DuE-Tutorien 17 und 18 10/19
Gleitkomma-Darstellung
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
Heute BCD-Code Gray-Code Aiken-Code Stibitz-Code Gleitkomma-Darstellung IEEE 754 Ubungsaufgaben
Christian A. Mandery – DuE-Tutorien 17 und 18 10/19
Normalisierte Gleitkommazahlen
Jeder Binarzahl außer der Null enthalt irgendwo eine Eins
Wenn die Zahl nicht zu klein ist, kann man die erste Eins mit demExponent immer vor das Komma schieben
→ Normalisierte Darstellung
Durch eine implizite Eins statt Null vor dem Komma gewinnt man einBit Genauigkeit
Aber: Man braucht dann eine spezielle Darstellung fur die Null (undggf. sehr kleine Zahlen)
Heute BCD-Code Gray-Code Aiken-Code Stibitz-Code Gleitkomma-Darstellung IEEE 754 Ubungsaufgaben
Christian A. Mandery – DuE-Tutorien 17 und 18 11/19
Normalisierte Gleitkommazahlen
Jeder Binarzahl außer der Null enthalt irgendwo eine Eins
Wenn die Zahl nicht zu klein ist, kann man die erste Eins mit demExponent immer vor das Komma schieben
→ Normalisierte Darstellung
Durch eine implizite Eins statt Null vor dem Komma gewinnt man einBit Genauigkeit
Aber: Man braucht dann eine spezielle Darstellung fur die Null (undggf. sehr kleine Zahlen)
Heute BCD-Code Gray-Code Aiken-Code Stibitz-Code Gleitkomma-Darstellung IEEE 754 Ubungsaufgaben
Christian A. Mandery – DuE-Tutorien 17 und 18 11/19
Aufbau von Gleitkommazahlen
Um ein einheitliches Format zu verwenden, legt man fest, welcheBits der Gleitkommazahl Vorzeichen, Mantisse und Exponentspezifizieren
Eine solche Festlegung macht der IEEE 754-Standard (“IEEEStandard for Binary Floating-Point Arithmetic for MicroprocessorSystems”)
Heute BCD-Code Gray-Code Aiken-Code Stibitz-Code Gleitkomma-Darstellung IEEE 754 Ubungsaufgaben
Christian A. Mandery – DuE-Tutorien 17 und 18 12/19
Spezielle Gleitkommazahlen
Bestimmte Gleitkommazahlen, mit denen man eineGleitkomma-Darstellung charakterisieren kann, haben einenspeziellen Wert.
Maxreal: Großte normalisierte ZahlMinreal: Kleinste normalisierte ZahlSmallreal: Kleinste Zahl x mit 1 + x 6= 1
Heute BCD-Code Gray-Code Aiken-Code Stibitz-Code Gleitkomma-Darstellung IEEE 754 Ubungsaufgaben
Christian A. Mandery – DuE-Tutorien 17 und 18 13/19
IEEE 754: Formate
Single Precision (“float“):32 Bit = 1 Bit Vorzeichen + 8 Bit Charakteristik + 23 Bit MantisseOffset fur Charakteristik: 127
Double Precision (”double”):64 Bit = 1 Bit Vorzeichen + 11 Bit Charakteristik + 52 Bit MantisseOffset fur Charakteristik: 1023
Heute BCD-Code Gray-Code Aiken-Code Stibitz-Code Gleitkomma-Darstellung IEEE 754 Ubungsaufgaben
Christian A. Mandery – DuE-Tutorien 17 und 18 14/19
IEEE 754: Formate
Single Precision (“float“):32 Bit = 1 Bit Vorzeichen + 8 Bit Charakteristik + 23 Bit MantisseOffset fur Charakteristik: 127
Double Precision (”double”):64 Bit = 1 Bit Vorzeichen + 11 Bit Charakteristik + 52 Bit MantisseOffset fur Charakteristik: 1023
Heute BCD-Code Gray-Code Aiken-Code Stibitz-Code Gleitkomma-Darstellung IEEE 754 Ubungsaufgaben
Christian A. Mandery – DuE-Tutorien 17 und 18 14/19
IEEE 754: Charakteristik
1 ≤ Charakteristik ≤ 254:Exponent = Charakteristik − 127Normalisierung
Charakteristik = 0:Kleinstmoglicher Exponent (-126)Keine Normalisierung (nur so ist die Null darstellbar!)
Charakteristik = 255:Mantisse = 0: Uberlauf (“unendlich”)Mantisse 6= 0: NaN (“Not a Number”)
Heute BCD-Code Gray-Code Aiken-Code Stibitz-Code Gleitkomma-Darstellung IEEE 754 Ubungsaufgaben
Christian A. Mandery – DuE-Tutorien 17 und 18 15/19
IEEE 754: Charakteristik
1 ≤ Charakteristik ≤ 254:Exponent = Charakteristik − 127Normalisierung
Charakteristik = 0:Kleinstmoglicher Exponent (-126)Keine Normalisierung (nur so ist die Null darstellbar!)
Charakteristik = 255:Mantisse = 0: Uberlauf (“unendlich”)Mantisse 6= 0: NaN (“Not a Number”)
Heute BCD-Code Gray-Code Aiken-Code Stibitz-Code Gleitkomma-Darstellung IEEE 754 Ubungsaufgaben
Christian A. Mandery – DuE-Tutorien 17 und 18 15/19
IEEE 754: Charakteristik
1 ≤ Charakteristik ≤ 254:Exponent = Charakteristik − 127Normalisierung
Charakteristik = 0:Kleinstmoglicher Exponent (-126)Keine Normalisierung (nur so ist die Null darstellbar!)
Charakteristik = 255:Mantisse = 0: Uberlauf (“unendlich”)Mantisse 6= 0: NaN (“Not a Number”)
Heute BCD-Code Gray-Code Aiken-Code Stibitz-Code Gleitkomma-Darstellung IEEE 754 Ubungsaufgaben
Christian A. Mandery – DuE-Tutorien 17 und 18 15/19
Ubungsaufgabe 1
Vervollstandigen Sie folgende Tabelle:
Dezimalzahl BCD-Kode AIKEN-Kode STIBITZ-Kode13,78
10010111,10011001,00011010
0110,01000111
Heute BCD-Code Gray-Code Aiken-Code Stibitz-Code Gleitkomma-Darstellung IEEE 754 Ubungsaufgaben
Christian A. Mandery – DuE-Tutorien 17 und 18 16/19
Ubungsaufgabe 2Gegeben sei das folgende Maschinenformat fur die Darstellung vonGleitkommazahlen:Bit 31: Vorzeichen, Bits 30 - 24: Charakteristik, Bits 23 - 0: Mantisse
Vorzeichen: VZ = 0→ positive Zahl, VZ = 1→ negative Zahl
Charakteristik = Exponent + 4016
Basis 16
Die Mantisse liegt im Zahlenbereich 16−1 ≤ Mantisse ≤ (1− 16−6).1 Geben Sie in obigem Format die groß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 andert sich, wenn man (im Fall der Basis 2) ein Bit der Mantisseaufgibt zugunsten eines Bits fur die Charakterisik?
Heute BCD-Code Gray-Code Aiken-Code Stibitz-Code Gleitkomma-Darstellung IEEE 754 Ubungsaufgaben
Christian A. Mandery – DuE-Tutorien 17 und 18 17/19
Ubungsaufgabe 2Gegeben sei das folgende Maschinenformat fur die Darstellung vonGleitkommazahlen:Bit 31: Vorzeichen, Bits 30 - 24: Charakteristik, Bits 23 - 0: Mantisse
Vorzeichen: VZ = 0→ positive Zahl, VZ = 1→ negative Zahl
Charakteristik = Exponent + 4016
Basis 16
Die Mantisse liegt im Zahlenbereich 16−1 ≤ Mantisse ≤ (1− 16−6).1 Geben Sie in obigem Format die groß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 andert sich, wenn man (im Fall der Basis 2) ein Bit der Mantisseaufgibt zugunsten eines Bits fur die Charakterisik?
Heute BCD-Code Gray-Code Aiken-Code Stibitz-Code Gleitkomma-Darstellung IEEE 754 Ubungsaufgaben
Christian A. Mandery – DuE-Tutorien 17 und 18 17/19
Ubungsaufgabe 2Gegeben sei das folgende Maschinenformat fur die Darstellung vonGleitkommazahlen:Bit 31: Vorzeichen, Bits 30 - 24: Charakteristik, Bits 23 - 0: Mantisse
Vorzeichen: VZ = 0→ positive Zahl, VZ = 1→ negative Zahl
Charakteristik = Exponent + 4016
Basis 16
Die Mantisse liegt im Zahlenbereich 16−1 ≤ Mantisse ≤ (1− 16−6).1 Geben Sie in obigem Format die groß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 andert sich, wenn man (im Fall der Basis 2) ein Bit der Mantisseaufgibt zugunsten eines Bits fur die Charakterisik?
Heute BCD-Code Gray-Code Aiken-Code Stibitz-Code Gleitkomma-Darstellung IEEE 754 Ubungsaufgaben
Christian A. Mandery – DuE-Tutorien 17 und 18 17/19
Ubungsaufgabe 2Gegeben sei das folgende Maschinenformat fur die Darstellung vonGleitkommazahlen:Bit 31: Vorzeichen, Bits 30 - 24: Charakteristik, Bits 23 - 0: Mantisse
Vorzeichen: VZ = 0→ positive Zahl, VZ = 1→ negative Zahl
Charakteristik = Exponent + 4016
Basis 16
Die Mantisse liegt im Zahlenbereich 16−1 ≤ Mantisse ≤ (1− 16−6).1 Geben Sie in obigem Format die groß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 andert sich, wenn man (im Fall der Basis 2) ein Bit der Mantisseaufgibt zugunsten eines Bits fur die Charakterisik?
Heute BCD-Code Gray-Code Aiken-Code Stibitz-Code Gleitkomma-Darstellung IEEE 754 Ubungsaufgaben
Christian A. Mandery – DuE-Tutorien 17 und 18 17/19
Ubungsaufgabe 3
Wandeln Sie die Dezimalzahl 21 in das 32-Bit-Format desIEEE-754-Standard um. Stellen Sie die Gleitkommazahl als hexadezimaleZahl dar.
Heute BCD-Code Gray-Code Aiken-Code Stibitz-Code Gleitkomma-Darstellung IEEE 754 Ubungsaufgaben
Christian A. Mandery – DuE-Tutorien 17 und 18 18/19
Fertig!
Quelle: http://xkcd.com/138/
Heute BCD-Code Gray-Code Aiken-Code Stibitz-Code Gleitkomma-Darstellung IEEE 754 Ubungsaufgaben
Christian A. Mandery – DuE-Tutorien 17 und 18 19/19