Andreas Meyer schrieb am Samstag den 27. Oktober 2001:
Leider weis ich nicht, wie hexadezimal-Zahlen zustande kommen. Vielleicht kann mir das ja jemand auf die Schnelle beibringen.
Hallo Andreas, Oh. Das sollten wir schnellstens nachholen :) (Zur Darstellung der E-Mail bitte eine Schrift mit festem Zeichenabstand verwenden, ansonsten werden die Tabellen nicht wie vorgesehen angezeigt.) Das allgemein verwendete Zahlensystem ist eins mit der Basis 10. Zum Ausrechnen des Wertes einer Zahl multipliziert man die Ziffer einer Stelle mit der Basis (10) hoch der Position, an der sie steht. Die Positionen werden dabei von rechts beginnend mit 0 gezählt. Für dezimal 1234 sähe die Rechnung dann so aus: Position 3 2 1 0 ----------+ ! 1 2 3 4 V ^--- 4 x 10^0 = 4 ^----- 3 x 10^1 = 30 ^------- 2 x 10^2 = 200 ^--------- 1 x 10^3 = 1000 ----- 1234 stimmt :) Heaxadezimale Zahlen haben die Basis 16. Da es keine 16 Ziffern gibt (sondern nur 0 bis 9), werden für die noch benötigten 6 Ziffern A bis F verwendet (A = 10, B = 11, C = 12, D = 13, E = 14, F = 15). Um nun eine hexadezimale Zahl in dezimal umzuwandeln geht man genauso wie im obigen Beispiel vor. Für hexadezimal 0x1234: 1 2 3 4 ^--- 4 x 16^0 = 4 ^----- 3 x 16^1 = 48 ^------- 2 x 16^2 = 512 ^--------- 1 x 16^3 = 4096 ----- 4660 dezimal Um eine Dezimalzahl in eine Hexadezimalzahl umzuwandeln, geht man wie folgt vor: Man teilt die Zahl durch die höchste 16er Potenz, mit der sich die Zahl teilen läßt. Das Ergebnis ist die Ziffer zu der Position mit der man 16 potenziert hat. Der ganzzahlige Rest wird für den nächsten Schritt verwendet. Z.B. für dezimal 1234: 1234 = 2 x 16^2 ( 2 x 512 = 1024) Rest: 210 ! +---------------------------------------------+ V 210 = 13 x 16^1 (13 x 16 = 208) Rest: 2 ! +---------------------------------------------+ V 2 = 2 x 16^0 ( 2 x 1 = 2) ^^^ ----- ! 1234 stimmt :) ! gibt von oben nach unten 2D2 Die Zahl 1234 (dezimal) ist also 2D2 (hexadezimal). Analog dazu kann man durch Austauschen der Basis mit jedem anderen Zahlensystem rechnen, z.B. dem Binärsystem mit Basis 2. Alles klar? *eg* BTW: Ein Tool, welches das unter X hervoragend beherrscht, ist calctool. Gruß Jens -- printf("*** system failure failed.\n");