Hexa2Binär & Binär2Hexa

Xethon

Lieutenant
Registriert
Feb. 2005
Beiträge
533
Hi,

in der Schule nehmen wir gerade das Thema durch wo wir Hexcode in Binärcode und andersrum umwandeln müssen. Leider habe ich davon keine Ahnung. Kann mir jemand erklären wie das geht?
 
Code:
binär <-> hexadezimal
0000  <-> 0
0001  <-> 1
0010  <-> 2
0011  <-> 3
0100  <-> 4
0101  <-> 5
0110  <-> 6
0111  <-> 7
1000  <-> 8
1001  <-> 9
1010  <-> A
1011  <-> B
1100  <-> C
1101  <-> D
1110  <-> E
1111  <-> F
Beispiele:
3C in hex ist dann 0011 1100 binär
1011 0101 binär ist B5 hex

Versuche bei den Binärzahlen von rechts her immer Blöcke von vier Ziffern zu bilden.
Wenn "links" dann kein Viererblock mehr gebildet werden kann, dann denke dir noch "unsichtbare" Nullen davor.

Und warum erklärt euch das dein Lehrer nicht, wo ihr "das Thema eh grad durchnehmt"?
 
Zum umrechnen kann man auch den guten, alten Windows Taschenrechner nutzen.
Ansicht -> Wissenschaftlich:daumen:
 
Nix gibts :freaky:!
In einer Klassenarbeit hat Xethon keinen Windowstaschenrechner.
Also lieber auswendig wissen wie es funktioniert.
 
Hat zwar mit Lernen nicht direkt was zu tun, aber bei der Gelegenheit könnte ich mal einen kleinen Umrechner rauskramen, den ich vor einiger Zeit programmiert habe. Vielleicht hilft dir das ja zum rumspielen/überprüfen. :)

Gruß, Martin
 

Anhänge

Kann doch jeder Taschenrechner.....
 
Jaja, du musst es ja nicht runterladen. War nur gut gemeint.
 
Ist eigentlich ganz einfach nehmen wir z.B.

4AF so nun machst du es ganz einfach so

Hede Hex ziffer wird mit 4 Dualzahlen abgedekt.

4 = 0100 weil 0*2 hoch3 + 1*2 hoch2 + 0*2 hoch1 + 0*2 hoch0 = 4
A = 1010 weil 1*2 hoch3 + 0*2 hoch2 + 1*2 hoch1 + 0*2 hoch0 = 10
F = 1111 weil 1*2 hoch3 + 1*2 hoch2 + 1*2 hoch1 + 1*2 hoch0 = 15

ich hoffe ich konnte es dir ein bischen erklären.
 
Mit Hexadezimalzahlen lassen sich die Zahlen von 0-255 immer zweistellig darstellen. Dadurch erreicht man eine kompaktere Darstellung von Zahlenblöcken.

Dies ist z.B. nützlich bei der Analyse von Protokolldateien. Diese fallen z.B. bei der Fehleranalyse von Kommunikationsprotokollen an.

Code:
In Dezimal:

1 2 3 4 255 127
4 255 127 1 2 3 

In Hexadezimal:

01 02 03 04 FF 7F
04 FF 7F 01 02 03

Natürlich könnte man die Dezimalzahlen auch dreistellig mit führenden Nullen darstellen. Zwei Stellen sind aber besser lesbar. Und ein Byte (0-255) ist im Computerbereich eine gängige Grösse :-).

Üblicherweise werden solche Daten in Hexadezimal dargestellt.
Auf Assemblerebene ist das Thema Hexadezimaldarstellung auch sehr beliebt.

Sprich im Laufe eines Programmiererlebens kommt nicht daran vorbei.

MfG

Arnd
 
Zuletzt bearbeitet:
Das ganze hängt mit dem ASCII Code zusammen!

Guck mal hier bei Wikipedia nach und hier da hast du eine ausführliche Erklärung.

Binärsystem
2^2; 2^3; 2^4....... je nachdem wie hoch der Exponent ist soviel bit hast du. 2^8 wären also 8bit. Und du könntest bis zu -127>+127 Zeichen benutzen. "Nur" 257 weil die Null als Zeichen miteinbezogen werden muss.

Hexdezimalsystem ist fast genau das Gleiche blos mit 16ner Schritten.

Gruß CloudConnected

PS: Hab ich auch vor Kurzem in der Schule durchgenommen.:rolleyes:
 
Zuletzt bearbeitet:
@ Tompson
und du hast zu früh gebremst ^^

2^8 = 256 zeichen

also könntest du die zahlen von 0 bis 255 darstellen = 256 zeichen amen ^^

noch ein toller spruch: "wer später bremst fährt länger schnell" ^^
 
CloudConnected schrieb:
Das ganze hängt mit dem ASCII Code zusammen!
Eigentlich hat das rein gar nichts mit ASCII zu tun...


CloudConnected schrieb:
2^2; 2^3; 2^4....... je nachdem wie hoch der Exponent ist soviel bit hast du. 2^8 wären also 8bit. Und du könntest bis zu -127>+127 Zeichen benutzen. "Nur" 257 weil die Null als Zeichen miteinbezogen werden muss.
Ähm bei 8 Bit stehen 256 Möglichkeiten und damit auch Zahlen zur Verfügung. Warum du auf 257 kommst ist mir unklar, und der Zahlenraum nicht -127 bis +127, sondern wenn dann -128 bis 127 - wpbei das ja eigentlich nur eine Betrachtungsweise ist.

x-treme888 schrieb:
was bedeuten die 10 bei A und 15 bei F?
hex A ist die Ziffer für dezimal 10 (zehn), hex F für dezimal 15 (fünfzehn).
Im hexadezimalen wird von 0 bis 15 ab 10 halt von A bis F weiter gezählt, weil es sonst keine Ziffern dafür gibt.


Ich glaube uns fiele es leichter mit binär und hexadezimal zu rechnen, wenn wir nicht so sehr an das Dezimalsystem gewöhnt wären... es gelten exakt die selben Regeln in den Systemen, das Problem ist nur, dass wir die Regeln so verinnerlicht haben und sie gar nicht explizit beachten...
 
oh.. verdammt :rolleyes:
 
jop von binär in hex is es einfach


dez: 282199

bin 0100 |0100| 1110 | 0101 | 0111

hex 4 4 E 5 7

du trennst quasi von hinten den binärblock immer nach 4 stellen ab wenn ganz links weniger als 4 stellen stehen füllst du sie halt mit 0er auf
ist im grunde ganz einfach

edit und zählst natürlich die einzelnen 4er blöcke 1111 = 15 und 15 = F ; 14 =E ; 13=D ; 12=C ; 11=B ; 10=A ; 9=9 ...
 
Zuletzt bearbeitet:
Umrechnung Dezimal in Binär ist ganz einfach... immer die (Rest)zahl durch 2 teilen und die Reste der Ganzzahldivison sind die nächste Ziffer (allerdings von rechts nach links und nicht von links nach rechts!). Mit dem Ergebnis der Ganzzahldivision rechnet man dann weiter, bis die Restzahl 0 ist...

Beispiel: dezimal 45054
1. 45054 / 2 = 22527 Rest 0 (letzte Ziffer)
2. 22527 / 2 = 11263 Rest 1
3. 11263 / 2 = 5631 Rest 1
4. 5631 /2 = 2815 Rest 1

5. 2815 /2 = 1407 Rest 1
6. 1407 / 2 = 703 Rest 1
7. 703 / 2 = 351 Rest 1
8. 351 / 2 = 175 Rest 1

9. 175 / 2 = 87 Rest 1
10. 87 / 2 = 43 Rest 1
11. 43 / 2 = 21 Rest 1
12. 21 / 2 = 10 Rest 1

13. 10 / 2 = 5 Rest 0
14. 5 / 2 = 2 Rest 1
15. 2 / 2 = 1 Rest 0
16. 1 / 2 = 0 Rest 1 (erste Ziffer)
Die Binärzahl ist also 1010 1111 1111 1110
Und jetzt mal bitte in Hex umrechnen :-)

Es dürfte klar sein, dass der letzte Schritt immer "1 / 2 = 0 Rest 1" ist
 
Zurück
Oben