Von Dezimalsystem ins hexadezimal umrechnen?
Ich habe bereits ein Programm geschrieben, das in das Binärsystem konvertiert. Für das Oktalsystem habe ich einfach eine Acht anstelle einer 2 verwendet. Ich wollte dasselbe mit dem Hexadezimalsystem machen, aber ich habe gemerkt, dass es nicht so einfach ist. Allerdings hatte ich die Idee, das Problem mit einem Array zu lösen, aber ich weiß nicht, wie ich das machen kann...
3 Antworten
Integer.toHexString(d)
Umrechnung und Darstellung in hexadecimal ist ziemlich identisch mit dem, was du auch in binär oder octal machst - der Unterschied liegt hauptsächlich darin, dass du hinter der 9 noch sechs weitere Zeichen verwendets, nämlich a...f.
Das zu realisieren ist nicht schwer: sobald der Ziffernwert einer Stelle über 9 liegt, "überspringst" du die 7 (oder 39, je nachdem ob klein oder groß geschriebene a...f gewollt sind) Zeichen hinter der 9, bevor du das Zeichen ausgibst oder in deinen Ausgabetext einbaust.
Für die Zeichen möchtest du eine ascii nach character umwandlung.
Du hast doch schon die Umrechnung ins Binärsystem. Vier Ziffern davon sind eine Ziffer im Hexadezimalsystem. Wo Problem?
0000(bin)=0(hex)
0001(bin)=1(hex)
0010(bin)=2(hex)
0011(bin)=3(hex)
0100(bin)=4(hex)
0101(bin)=5(hex)
0110(bin)=6(hex)
0111(bin)=7(hex)
1000(bin)=8(hex)
1001(bin)=9(hex)
1010(bin)=A(hex)
1011(bin)=B(hex)
1100(bin)=C(hex)
1101(bin)=D(hex)
1110(bin)=E(hex)
1111(bin)=F(hex)