PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : binäres speichern von Brüchen



Romanday
07-09-2005, 00:02
Versuche gerade dezimale Zahlen mit Papier und Bleistift
in binäre Zahlen umzurechnen. Das klappt auch ganz gut,
solange ich positive ganze Zahlen benutze.

Bei Brüchen und negativen Zahlen (habe mal eine Konvertierungsfunktion
einer Programmiersprache zur Gegenkontrolle benutzt) sehen
die Ergebnisse etwas abenteuerlich aus.

-6 ergibt 11111111111111111111111111111010
-0.6 ergibt 0
1.6 ergibt 1

Frage: Wie werden negative Zahlen und Brüche binär im Computer gespeichert?
Wie wird z. B. das Komma innerhalb einer Zahl (z. B. 0.5) binär gespeichert?

Detrius
07-09-2005, 00:20
http://de.wikipedia.org/wiki/Gleitkommazahl

Pingu
07-09-2005, 08:02
Ersteinmal mußt Du Dir Gedanken darüber machen, wie, also mit welchem Datentype, Du die Zahlen speichern möchtest. Da gibt es verschiedene Möglichkeiten: vorzeichenlose ganze Zahlen vorzeichenbehaftete ganze Zahlen sog. reele Zahlen
Die ganzen Zahlen lassen sich relativ leicht Umrechen. Der Unterschied zwischen den vorzeichenlosen Zahlen und den vorzeichenbehafteten Zahlen liegt hier bei im obersten Bit (MSB), welches bei den vorzeichenbehafteten Zahlen das Vorzeichen repräsentiert:

Vorzeichenlos
00h : 0
01h : 1
02h : 2
::::
09h : 9
0Ah : 10
0Bh : 11
::::
7Eh : 126
7Fh : 127
80h : 128
81h : 129
82h : 130
::::
FEh : 254
FFh : 255

Vorzeichenbehaftet
00h : 0
01h : 1
02h : 2
::::
09h : 9
0Ah : 10
0Bh : 11
::::
7Eh : 126
7Fh : 127
80h : -128
81h : -127
82h : -126
::::
FEh : -2
FFh : -1


Wobei dies die Notation nach dem sog. Zweierkomplement (http://de.wikipedia.org/wiki/Zweierkomplement) ist.

Für das andere hat Detrius bereist einen Link gegeben.

Pingu