Ich nehme mal die Zahl als Beispiel um sie in binär umzuwandeln. Fehler sind bestimmt drin und hab auch keine Ahnung, ob man das einfacher machen kann:
123,23=
1 * 2^6 (Rest: 59,23)
+1 * 2^5 (27,23)
+1 * 2^4 (11,23)
+1 * 2^3 (3,23)
+0 * 2^2 (3,23)
+1 * 2^1 (1,23)
+1 * 2^0 (0,23)
,
+0 * 2^-1 (0,23)
+0 * 2^-2 (0,23)
+1 * 2^-3 (0,105)
+1 * 2^-4 (0,0425)
+1 * 2^-5 (0,01125)
+0 * 2^-6 (0,01125)
+1 * 2^-7 (0,003438)
+0 * 2^-8
+1 * 2^-9
Wenn ich kein Fehler gemacht habe geht das noch ne Weile so weiter. Bei Double ist die Mantisse 52 bit breit, ich hab jetzt die ersten 16 ausgerechnet.
Jetzt kannst du das aufschreiben als:
1111011,001110101....
Jetzt wird das Komma nach vorne verschoben (ich bin mir nicht genau sicher, ob vor oder hinter die erste 1; ich mach mal hinter)
1,111011001110101... (* 2^6) <-- wichtig: Exponent (ist Anzahl der Stellen)
Der Exponent ist bei Double 11 bit breit. Da der Exponent immer positiv gespeichert wird, müssen wir immer 2^(11-1)-1 = 1023 dazuaddieren --> 6+1023 = 1029
1029 in binär --> 10000000101
Damit hätten wir unser double zusammen:
Vorzeichenbit: (positiv) 0
Exponent : 10000000101
Mantisse
ohne Komma)1111011001110101...
Zweites großes Fragezeichen meinerseits: Bei der Mantisse wird laut IEEE eigentlich die führende 1 weggelassen (da sie immer da ist),
aber ich glaub der Rechner hält sich da nicht dran
also Manitsse: 111011001110101...(wie gesagt: 52 Stellen
)
Ich mach mal mit Mantisse ohne führende 1 weiter.
Unser Doublewert (VZ - Exp - Mant):
010000000101111011001110101....
und schöner gruppiert:
0100 0000 0101 1110 1100 1110 101....
demnach ist die Hexdarstellung davon; die Vierergruppen (wie heißen die gleich nochmal
) einzeln umsetzen:
405ECE....
(weiß nicht ob du mit Sedezimal, was anderes meinst)
Edit: 1 Fehler im Text berichtigt
Edit2: Wow, lag ich gut
. Hab grad mal geschaut, was der Rechner nun wirklich macht. Also er lässt wirklich die führende 1 weg
.
Ergebnis: 40 5E CE B8 51 EB 85 1F
Edit3: kleiner Schönheitsfehler
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.