Uni Duisburg-Essen Fachgebiet Informationssysteme Prof. Dr. N. Fuhr Blatt 3 Kai Großjohann, André Schaefer Aufgabe 1: Abgabe bis 13. Mai 2003 Zahlendarstellungen a) Berechne mit Hilfe des Horner-Schemas (Vorlesung) die Oktaldarstellung der natürlichen Zahlen 6746 und 43531 und ermittle daraus die Dual- und daraus die Hexadezimaldarstellung. 4 b) Gib für die Dezimalzahlen 15 und 34 jeweils die Dual-, die Oktal- und die Hexadezimaldarstellung an. Hinweis Schreibe die Brüche zunächst um: 12 = 0.5 10 Punkte In den folgenden beiden Aufgaben betrachten wir die Zahldarstellungen von Gleitpunktzahlen nach IEEE 754/854 (siehe Anhang). Aufgabe 2: Darstellbarkeit Bestimme die größten und kleinsten positiven darstellbaren Zahlen maxsingle, minsingle, maxdouble und mindouble in der Hexadezimal- und Dezimaldarstellung für normalisierte und denormalisierte Zahlen. (In der Dezimaldarstellung genügt auch die Angabe einer Summe von Zweierpotenzen, falls der Taschenrechner versagt!) 10 Punkte Aufgabe 3: Single, Double a) Stelle die Dezimalzahl 0.38 in den Formaten single und double als (normalisierte) Hexadezimal-Zahl dar. b) Berechne die dezimalen Werte der normalisierten single-Zahlen in Hexadezimaldarstellung (i) $1874CD00 (ii) $6495ED00 (iii) $E8C10000 und stelle die Zahlen anschließend im double-Format dar. 10 Punkte Blatt 3 Seite 1 von 2 Uni Duisburg-Essen Fachgebiet Informationssysteme Prof. Dr. N. Fuhr Anhang: Darstellung von Gleitpunktzahlen nach IEEE 754/854 Eine Gleitkommazahl besteht aus einem Vorzeichen S, l Bit zur Darstellung des Exponenten und m Bit zur Darstellung der Mantisse. Die Mantisse ist dabei bei normalisierten Zahlen, die im Allgemeinen verwendet werden, so dargestellt, dass diese eine führende 1 vor dem Dezimalpunkt besitzt, die dann in der Regel nicht kodiert wird. Wir erhalten somit die folgende Darstellung für eine Gleitkommazahl: Vorzeichen-Bit ↓ Exponent: l Bit S el−1 el−2 . . . . . . . . . e1 e0 Mantisse: m Bit fm−1 fm−2 . . . . . . . . . . . . f1 f0 Exponentencharakteristik : E = (el−1 el−2 . . . . . . e1 e0 )2 Mantisse : M = (fm−1 fm−2 . . . . . . f1 f0 ) DargestellteZahl : (−1)S · (1.M )2 · 2(E−EBias ) (−1)S · (0.M )2 · 21−EBias (−1)S · 0 (−1)S · ∞ NaN 1 ≤ E ≤ 2 · EBias E = 0, M 6= 0 E = 0, M = 0 E = 2 · EBias + 1, M = 0 E = 2 · EBias + 1, M = 6 0 normalisiert denormalisiert Null mit Vorz. ∞ mit Vorz. Not a Number Die Konstanten l und m bestimmen die Genauigkeit, der Summand EBias dient zur Verschiebung des Exponentenwertes, um auch negative Exponenten zu erhalten. Dadurch ist es nicht erforderlich, den Exponenten in Zweierkomplementdarstellung zu schreiben, was einen Vergleich von Exponenten erleichtert. Die im IEEE Standard festgelegten Genauigkeiten single und double haben folgende Parameter: Genauigkeit single: 32 Bit double: 64 Bit Blatt 3 Exponent l= 8 l = 11 Mantisse m = 23 m = 52 EBias 127 1023 Bereich 1.5 · 10−45 . . . 3.4 · 1038 5.0 · 10−324 . . . 1.7 · 10308 Stellen 7–8 15 – 16 Seite 2 von 2