<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.