Hex conversion
HI, I need to convert a string of hex into decimal but I can't seem to figure it out. A string something like
$0,$36,$EE,$80
Needs to be seen as
$0036EE80
And that one hex value converted to decimal or even ASCII, something I can perform some math on and then display ultimately as decimal.
Any ideas much appreciated.
0
Answers
Something like this:
DEFINE_VARIABLE VOLATILE CHAR cHexString[] = {$0,$36,$EE,$80} VOLATILE LONG lDecimal DEFINE_FUNCTION LONG fnHex(CHAR cHexData[]) { STACK_VAR VOLATILE CHAR cResult[100] STACK_VAR VOLATILE INTEGER i FOR(i = 1 ;i<=LENGTH_ARRAY(cHexData); i++) { cResult = "cResult,FORMAT('%02X',cHexData[i])" } SEND_STRING 0, cResult RETURN HEXTOI(cResult) } lDecimal = fnHex(cHexString)Thanks I'll see if I can make that work. The thing is the hex string can change at any time so I have to allow for any possibility of 4 bytes.
As long as the four bytes represent a valid number, it'l work. Good luck.