PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : HEX-Editor Werte in Dezimal und umgekehrt


Angel3DWin
2013-11-30, 09:05:45
In einem Tutorial steht, das folgender Wert im Hex-Editor

80 02 00 00

als Dezimalzahl

640

ist.

Wie rechne ich das und vor allen Dingen eine Dezimal Zahl in so eine Hex-Folge um?

Ich hab wirklich schon bei Google verschiedene Umrechner probiert und bekomme nie diese Hex-Folge raus, wie ich diese dann im Editor brauche.

Ich müsste z.b. wissen was die Dezimal-Zahl 1440 für eine Hexfolge ist. Aber genau müsste ich wissen wie das geht, weil ich noch mehr Werte umrechnen muss.

Habe das sicher schon mal in der Schule oder Ausbildung gehabt, aber das ist so lange her und ich weiß es einfach nicht mehr.

Helft mir bitte und nicht lachen :(

gnahr
2013-11-30, 09:18:12
geh doch mal logisch ran. hex hat 16 zeichen pro stelle, dez nur 10.
dem zufolge werden die zahlen (augenscheinlich) kleiner, weil mehr infos in weniger stellen gehen bzw. kleinere zahlen an der gleichen stelle für den selben wert stehen.

in den windows boarmitteln ist ein taschenrechner als calc.exe dabei, der in der ansicht für programmierer auch hex in dez und zurück rechnet. der sagt "640" dez ist "280" hex und das macht auch sinn.

bei deinen vielen leerzeichen in der gesuchten zahl weiß man ja gar nicht wie sie nun wirklich lautet. bist du dir sicher alle "end"-bits bereits abgeschnitten zu haben? den formalismus zur umrechnung findet man bei wikipedia durch tausende augen korrigiert.

Gimmick
2013-11-30, 09:35:47
In einem Tutorial steht, das folgender Wert im Hex-Editor

80 02 00 00

als Dezimalzahl

640

ist.

Wie rechne ich das und vor allen Dingen eine Dezimal Zahl in so eine Hex-Folge um?

Ich hab wirklich schon bei Google verschiedene Umrechner probiert und bekomme nie diese Hex-Folge raus, wie ich diese dann im Editor brauche.

Ich müsste z.b. wissen was die Dezimal-Zahl 1440 für eine Hexfolge ist. Aber genau müsste ich wissen wie das geht, weil ich noch mehr Werte umrechnen muss.

Habe das sicher schon mal in der Schule oder Ausbildung gehabt, aber das ist so lange her und ich weiß es einfach nicht mehr.

Helft mir bitte und nicht lachen :(

Die Umrechnungsmethode steht auf Wiki.

Wenn ich mich nicht ganz irre:

80 02 00 00

Musst von rechts nach links Block für Block lesen.

00 = 0
00 = 0
02 = 2
80 = 80

-> 00280 -> 280

1440 als Dez ist in Hex 5A0

5A0 -> 005A0 -> A0 05 00 00

PatkIllA
2013-11-30, 09:48:03
Das verwirrende ist wohl die Byte-Reihenfolge (http://de.wikipedia.org/wiki/Byte-Reihenfolge)

Lokadamus
2013-11-30, 10:42:48
Jup, die Reihenfolge (verkehrt herum muss es gelesen werden) muss beachtet werden.
Für ganz Dumme: http://www.langeneggers.ch/nuetzliches/umrechner-hex-dez.html
Einfach mal 640 eintippen und dann sieht man schon das Ergebniss.

Avalox
2013-11-30, 11:04:26
In einem Tutorial steht, das folgender Wert im Hex-Editor

80 02 00 00

als Dezimalzahl

640

ist.



Das ist nicht schwer.

Haxadezimal ist ein Zahlensystem zur Basis 16.
Da nach der 9 die Ziffern ausgehen benutzte man einfach Buchstaben in alphabetischer Reihenfolgen von A -F um die fehlenden Zahlenwerte darzustellen.

Das macht man, weil der Wert eines Byte nämlich dann immer sehr schön mit zwei Zeichen dargestellt werden kann. 00 - FF

So sind oben die einzelnen Bytes segmentiert dargestellt. Zwei Zeichen in Folge zeigen immer ein Byte.
Wie bei jeder Tankstellenrechnung wird der Wert dieses einzelnen Bytes gelesen. Also von links nach rechts nimmt der Wert ab.

Nun gibt es in der Informatik grundsätzlich das Problem, dass sich nie jemand auf etwas einigen kann.

Das klappte schon nicht bei der simpelsten Sache, eben der Wert des BITs. So klappt das auch erst Recht nicht bei Konstrukten wie oben.

Du kannst also nun die Bytes oben von links nach rechts lesen, oder von rechts nach links. Je nachdem was du tust, erhälst du einen unterschiedlichen Zahlenwert und beide sind richtig.

einmal steht dort 00000280h was dezimal dargestellt eben 640 sind
und andersrum gelesen 80020000h was dezimal immerhin schon dezimal 2147614720 sind.

Es hilft also nicht allein die hexadezimalen Werte zu bekommen, du musst zudem wissen, wie herum diese gelesen werden. Also in welcher Richtung die Wertigkeit abnimmt.

sei laut
2013-11-30, 12:24:44
Du kannst auch über Binär gehen, wenn das leichter für dich ist.
Also eine Dezimalzahl in Binär umrechnen
In 640 passt 512 rein -> 1 Rest: 128
In 128 passt 256 nicht rein -> 0
In 128 passt 128 rein -> 1 Rest 0, alles andere ist 0
64 -> 0
32 -> 0
16 -> 0
8 -> 0
4 -> 0
2 -> 0
1 -> 0

10 1000 0000
Um daraus eine Hexzahl zu machen braucht es vierer Gruppen, denn 4er Binärblöcke ergeben immer max. 16, höchste Zahl bei einem 4er Binärblock steht für 8.
10 1000 0000
2 8 0
Und voila, dein Ergebnis. Das kannst du mit allen Zahlen machen.
Um von Hex auf Dezimal zu kommen kannst du einfach den Weg umdrehen. Aus einer Hex Zahl 4 Binärzahlen machen und dann daraus die Dezimalzahl ausrechnen.

Angel3DWin
2013-11-30, 13:17:24
Booarrr ich danke euch allen wie verrückt, ich bin echt bald verzweifelt und habe einfach nicht mehr durch gesehen :O

Ganz lieben Dank :)

Disconnected
2013-11-30, 18:38:13
...

downforze
2013-12-02, 02:49:23
In Bit umrechnen und dann * 16