Für Mathe-Freaks zum Encodieren.
-
Wie kommt man von 9F 4C 81 06 (hexadezimal codiert) auf S9137055,
und von 89 CA F7 11 (hexadezimal codiert) auf U1451913? Beides besitzt das gleiche Format.
-
http://de.wikipedia.org/wiki/Hexadezimalsystem da steht wie man Hexadezimal in Dezimalzahlen umwandelt. Ich vermute, dass das S bzw. U auf signed/unsigned hindeuten. Für die Umrechnung des ersten Wertes mußt Du Dich daher vermutlich noch mit dem 2er-Komplement befassen.
-
Also S/U steht nicht für signed/unsigned,2er-komplement gibt es höchst wahrscheinlich auch nicht.
-
*schnell durchrechnet* Also eine einfache Systemumrechnung nach Dezimal ist das auf jeden Fall nicht.
@maRKus: Soll das ein Rätsel werden oder versuchst du verzweifelt, die Ausgaben eines Programmes zu deuten? Im letzteren Fall dürften zwei Beispielausgaben etwas dürftig sein als Anhaltspunkt.
-
Könnte Zufall sein, aber
110^8-9137055 = 0x06814C9F
310^8-1451913 = 0x11F7CA89
...wäre ein komischer Zufall.daher
Hexcode = Int2LittleEndian((asc(Buchstabe)-0x52)*10^8-Zahl)
Buchstabe = chr((LittleEndian2Int(Hexcode) / 10^8)+0x52)
Zahl = LittleEndian2Int(Hexcode) % 10^8
-
Das sind die Ausgaben eines Programmes, die ich zu encodieren habe, bin schon kurz vorm verzweifeln, aber wie grad gesehn hab, steht da schon ne Lösung
-
Was macht die Funktion LittleEndian2Int()?
-
@ Morris: Wie hast du denn die erste Zeile berechnet, ich kreige da was anderes raus
-
maRKus23 schrieb:
Was macht die Funktion LittleEndian2Int()?
http://de.wikipedia.org/wiki/Little_endian
gruss
v R
-
Es müsste heissen 10^8 + 9137055 = 0x06814C9F
nur ein kleiner Vorzeichenfehler, also vielen dank Morris!
-
Hätt ich eben nur mal weitergerechnet,
also ich habs jetzt:
10^8 ist total überflüssig.aus 0x06814C9F wird 109.137.055
aus 0x11F7CA89 wird 301.451.913dabei steht die 10 für S und die 30 für U, der Rest ist die Zahl.
-
stimmt, Vorzeichenfehler... typisch
-
Wenn du noch den Namen des Programms posten würdest, hätten andere mit ähnlichem Problem vielleicht ne Chance das hier über Suchfunktionen zu finden.