PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : 10 Byte HEX in DEZ umwandeln



thka
05.04.2007, 10:20
Hallo,

ich muss eine HEX Zahl in Dezimal umwandeln

HEX 0100167E4A ist in DEZ 4296441418

mit Hexval funktioniert das nicht!
kann mir bitte jemand helfen.

Thomas

kurzschluss
05.04.2007, 11:40
Hi, du musst hexval eine Stringvariable übergeben...

Dim Hexweert As String*10
Dim a as long
.....
Hexwert="100167E4A"
a = hexval(Hexwert)
....

sollte laufen...

thka
05.04.2007, 11:57
hab ich schon versucht - geht aber nicht, da die variable long zu klein ist
mit double bekomm ich auch ne fehlermeldung.

meine HEX ist immer 10 stellig im String

PICture
05.04.2007, 11:57
Hallo thka!

Ich versuche Dir zu helfen, aber nur in allgemeinem, da ich Bascom nicht kenne.

Eine 10-stellige hex Zahl wird so definiert:

h9*2^9+h8*2^8+h7*2^7+h6*2^6+h5*2^5*+h4*2^4+h3*2^3+ h2*2^2+h1*2+h0

Jede hex Ziffer hX muss man durch eine dez Zahl die dem Wert der hex Zahl im Dezimalsystem entspricht ersetzen

0h=0d, 1h=1d, 2h=2d, 3h=3d, 4h=4d, 5h=5d, 6h=6d, 7h=7d, 8h=8d, 9h=9d, Ah=10d, Bh=11d, Ch=12d, Dh=13d, Eh=14d, Fh=15d

durch entsprechende dez Zahl, die der 2^X enspricht (z.B. 2^6=64), multipliezieren und alles nach der Formel addieren. Viel Spass ! :)

MfG