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

Preview:

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

Recommended