Fini,
ich versuche mich mal an einer Erklärung.
Aber ohne ein bisschen Mathe geht es hier leider nicht.
Auf den ersten Blick sieht es etwas wüst aus, aber wenn Du es einmal durchgerechnet hast, dann erkennst du das Prinzip und es wird beim nächsten Mal leichter.
Also fangen wir an:
Wir wollen eine Dezimalzahl in eine Hexadezimalzahl (Basis 16) umrechen.
Als Beispiel nehme ich die Dezimalzahl 423,34765625.
Die habe ich extra so gewählt, damit sie am Ende glatt aufgeht.
Am besten, man geht von oben nach unten vor:
--- VORKOMMATEIL ---
zunächst wird der ganzzahlige Anteil, also die Vorkommastellen (423) betrachtet:
Nun schaut man, wie oft die Potenzen der Basis (16) dort hinein passen.
Dabei beginnt man mit der größtmöglichen Potenz.
Die Potenzen sind
(16 ^ 3 = 4096 -> ist größer als 423, deshalb verwerfen und ebenso alle Potenzen die noch größer sind (16 ^ 4, 16 ^ 5 ...))
16 ^ 2 = 256 -> ist die erste Potenz, die ganz in 423 hineinpasst. Wie oft? genau einmal. Damit hat man schon die erste Ziffer: 1
Man zieht nun 256 * 1 von der 423 ab, es bleiben 167, womit von nun an weitergerechnet wird
16 ^ 1 = 16 -> ist die nächste Potenz, die in 167 hineinpasst. Genau 10 mal, also nächste Ziffer A (für 10)
wieder abziehen: 167 - 16 * 10 = 7. Damit wird weitergerechnet
16 ^ 0 = 1 -> passt 7 mal in die 7, also Ziffer 7
wieder abziehen: 7 - 7 = 0 -> Vorkommateil fertig!
wenn man nun die ermittelten Ziffern von oben nach unten liest, erhält man
denn ganzzahligen Anteil (Vorkommateil) als Hexadezimalzahl.
Also 1A7!
--- NACHKOMMATEIL ----------
Jetzt kommt der Nachkommateil (0,34765625).
Im Prinzip können wir so weiterrechnen wie bisher.
Die nächstkleinere Potenz ist...
16 ^ (-1) = 0,0625 -> sie passt 5 mal ganz in 0,34765625 hinein, also Ziffer 5
jetz wird wieder subtrahiert: 0,347656625 - 0,0625 *5 = 0,03515625
16 ^ (-2) = 0,00390625 -> passt genau 9 mal in 0,03515625, also Ziffer 9
wieder abziehen: 0,03515625 - 0,00390625 * 9 = 0 -> Nachkommateil fertig!
nun die Ziffern hintereinander von oben nach unten zusammenbauen
und man hat den Nachkommateil:
59
---BEIDE TEILE ZUSAMMEN ------------------
Jetzt beide Teile mit einem Komma getrennt zusammenbauen:
1A7,59
Fertig!
423,34765625d = 1A7,59h
Ich hoffe, dir damit ein wenig geholfen zu haben.
Viele Grüße
Sid