Du musst dir das so vorstellen:
Du hast nur 0en und 1en, also stellst du eine Zahlenreihe auf:
0 0 0 0 0 0
32 16 8 4 2 1
Dieses Modell ist nach links unendlich weit erweiterbar. Wenn du dir nun eine Zahl n nimmst und diese darstellen möchtest rechnest du diese Zahl n durch 2 und gehst danach auf der Skala eins nach links und setzt das Bit (die 0 darüber) zu 1. Beispiel:
Zahl n = 17: 17/2 ist 8,5. Eins nach links steht die 16 --> die 0 über der 16 wird zur 1.
Jetzt rechnest du n-x also im Beispiel oben 17-16.
Jetzt wiederholst du das immer weiter bis der Rest nur noch 1 oder 0 ist. Ist der Rest 1 wird die 0 ganz rechts zur 1.
Komplette Beispiele:
17 --> 17/2 = 8,5 --> 16 wählen --> 0001 0000 Rest 1 --> 17 entspricht 0001 0001
20 --> 20/2 = 10 --> 16 wählen --> 0001 0000 Rest 4 --> 4/2 = 2 --> 4 wählen --> 0001 0010 Rest 0 --> 20 entspricht 0001 0010
Wenn du nun das Hexadezimalformat möchtest, dann fasst du einfach jeweils 4 Bits (0en und 1en) von rechts zusammen. Also in 0001 0010 ist 0001 eine Hexadezimale und 0010 die nächste. Jetzt rechnest du von diesen Blöcken den Wert aus:
0010 = 0*8 + 0*4 + 1*2 + 0*1 = 2 --> Hexadezimale = 2
1111 = 1*8 + 1*4 + 1*2 + 1*1 = 15 --> Hexadezimale = F
Die 17 wäre also zum Beispiel 0x11