Teil 5 Flashcards
Negative ganze Zahlen im Bit
- Das negative Vorzeichen kann nicht in einem Bit gespeichert werden, weil dort nur 0 oder 1 stehen kann.
-Entscheidung notwendig:
Soll eine gegebene Folge von Bits so interpretiert werden, dass die Zahl auch negativ sein könnte, oder soll die Zahl immer positiv sein?
• Wenn die Bitfolge auch als negative Zahl interpretierbar sein soll, wird das führende (=links stehende) Bit als Vorzeichenbit interpretiert.
Wenn das führende Bit 1 ist, ist die Zahl negativ, sonst positiv.
-Festlegung der Anzahl von Bits notwendig, damit das Führungsbit eindeutig definiert ist.
Speicherung ganzer Zahlen
Ganzen Zahlen werden in ihrer binären Darstellung im Speicher abgelegt.
• Eine Variable vom Typ int umfasst 4 Bytes, also 32 Bits.
• Es können 32 binäre Stellen gespeichert werden.
• Die größte Zahl, die noch gespeichert werden könnte ist
2^31 + 2^30 + ⋯ 2^2 + 2^1 + 2^0 = 2^32 - 1 = 4.294.967.295
• Da ein Bit als „Indikator“ für das Vorzeichens verwendet wird, bleiben nur 31 Bits für den Betrag der Zahl.
Daher ist der Wertebereich für eine int‐Variable
2.147.483.648 … 2.147.483.647
Festkommadarstellung
- Bei der Speicherung von Zahlen mit Nachkommastellen wäre der direkte Weg die Festkommadarstellung.
- Die vorhandenen Bits werden fest eingeteilt in eine Gruppe von Bits vor dem Komma und eine Gruppe von Bits nach dem Komma.
-Beispiel 8 Bit: xxxx,xxxx
(Vor dem Komma und hinter dem Komma wären immer jeweils 4 Stellen.)
-Festkommasysteme habe nur einen stark eingeschränkten Wertebereich und werden daher nur selten benutzt.
Gleitkommadarstellung
• In einem Gleitkommasystem werden die Mantisse und der Exponent getrennt gespeichert.
• Dabei wird die normalisierte Exponentialform benutzt, in der
die Mantisse nur eine Stelle vor dem Komma hat.
• Gegenüber einem Festkommasystem kann mit derselben Anzahl von Speicherstellen ein größerer Wertebereich und eine höhere Auflösung (=Abstand zwischen zwei aufeinander folgenden Zahlen) erzielt werden.
IEEE 754
• Der Standard IEEE 754 beschreibt u.a. verschiedene Systeme zur Speicherung von binären Gleitkommazahlen.
-SinglePrecision(C#-Datentypfloat)
• 32 Bit: 23 Bit Mantisse, 8 Bit Exponent, 1 Bit Vorzeichen
-DoublePrecision(C#‐Datentypdouble)
• 64 Bit: 52 Bit Mantisse, 11 Bit Exponent, 1 Bit Vorzeichen