<sub class="descriptionSection">05-11-2024 11:58:am // #Binary // [[TI]]</sub> ____ Zwei Formate zur Darstellung Rationaler Zahlen: 1. Festkommaformat 2. Gleitkommaformat Klassiche CPUs (Mikroprozessoren) und seit einigen Jahren GPUs verwenden Gleitkommarithmethik, Digitale Signalprozessoren verwenden hingegen Festkommazahlen. ## 1. Festkommazahlen Ein Rechenwerk mit $\text{n-Bitstellen}$ kann unterteilt werden in einen Teil für Vorkommastellen und einen anderen Teil für Nachkommastellen. ### Bsp.: - 8 Bit Rechenwerk - Vorkommastellen: 3 - Nachkommastellen: 4 ![[IMG_0199.jpeg]] ### Vorteile von Festkommazahlen - Jedes Rechenwerk, das mit ganzen Zahlen Rechenoperationen durchführen kann, kann auch für Festkommaoperationen verwendet werden. ### Nachteil von Festkommazahlen - Festkommazahlen haben einen Eingeschränkten Wertebereich - Kleine Zahlen gehen durch Runden verloren - große Zahlen können nicht mehr dargestellt werden ___ > [!NOTE] Einsatzgebiet von Festkommazahlen > Digitale Signalprozessoren ### Bsp: Kleinstmögliche Auflösung mit 8 Bit u. Vorzeichenbit - 1 Bit für Vorzeichen - 7 Bit für die Nachkommastellen ![[IMG_0200.jpeg]] > [!abstract] Ableitung > Mit Vorzeichenbit gilt diese Formel: > $ > 0,0078125 = 2^{-(n-1)} > $ > Mit $n=8$ > Ohne Vorzeichenbit: $2^{-n}$ > > => Dies ist der kleinstmögliche Abstand zwischen zwei benachbarten Zahlen => bei Festkommastellen **konstant** > [!abstract] Äquidistanz > Die Äquidistanz ist der **konstante** und kleinstmögliche abstand zwischen zwei benachbarten Zahlen in einem Zahlensystem. ## 2. Gleitkommazahlen nach IEEE 754 IEEE 754 legt zwei Formate fest: - single precision, 32 Bit (einfache Genauigkeit) - double precision, 64 Bit (doppelte Genauigkeit) in C/Java entsprich dies den Datentypen float und double ### Single Precision ![[IMG_0201.jpeg]] ### Double Precision ![[IMG_0202.jpeg]] ### Vorgehen zur Bestimmung des IEEE-Formats (32-Bits) 1. Berechnen der Binären Vor- und Nachkommastellen - z.B. 15,625$_{(10)}$ -> $1111,101_{(2)}$ 2. Verschieben des Kommas hinter die werthöchste Stelle $ 1,111101 * 2³ => Exponent\text{ } E = 3 $ 3. Mantisse bilden => das werthöchste Bit wird "versteckt" (d.h implizit dargestellt) und die verbleibende Ziffernfolge mit Nullen aufgefüllt, bis insgesamt 23 Bit erreicht werden. $ \cancel{1}111101 => 11110100 0000 0000 000 $ Hier ist das erste Bit das "hidden bit" (verstecktes Bit) 4. Charakteristik bilden: ![[IMG_0203.jpeg]] Im Beispiel: $ C = 3 + 127 = 130_{(10)} = 1000 0010_{(2)} $ 5. Vorzeichenbit der IEEE Zahl - Wie bei normalen zahlen: $0 = +$ und $1 = -$ 6. Kombinieren zur IEEE Zahl ![[IMG_0204.jpeg]] #### Beispiel ![[IMG_0205.jpeg]] In der Prüfung wäre ausreichend das Ergebnis als $-153*2^{-81}$ anzugeben.