Hallo,
kann mir jemand helfen? Ich habe schon sehr lange gesucht und viele möglichkeiten ausprobiert. Leider geht es bei mir nicht.
ich brauche so eine Zahl "010421DD82" (kein String sonder als Byte[5] gegeben) wieder in dezimal verwandeln und dann als String speichern. Was ich auch mache stürzt mein Progi ab.
meine Versuche:
es ist sehr sehr sehr dringend, bitte um Hilfe !
Danke.
kann mir jemand helfen? Ich habe schon sehr lange gesucht und viele möglichkeiten ausprobiert. Leider geht es bei mir nicht.
ich brauche so eine Zahl "010421DD82" (kein String sonder als Byte[5] gegeben) wieder in dezimal verwandeln und dann als String speichern. Was ich auch mache stürzt mein Progi ab.
meine Versuche:
Code:
char *GetHEX(unsigned long x)
{
if(!x)
return("0");
short len=short(ceil((double)log((double)(x+1))/(double)log((double)16))-1);
char *HEX="0123456789ABCDEF";
char *result=new(char[len+2]);
result[len+1]='\0';
for(;len>=0;len--,x/=16)
result[len]=HEX[x%16];
delete []HEX;
return(result);
}
__int64 hex_string_to_long(CString hexStg)
{
int n= 0; // position in string
__int64 intValue = 0; // integer value of hex string
CUIntArray digit; // hold values to convert
//tokenize all digits to an array containing their value
while (n < hexStg.GetLength())
{
if (hexStg[n]=='\0')
break;
if (hexStg[n] > 0x29 && hexStg[n] < 0x40 ) //if 0 to 9
digit.Add(hexStg[n] & 0x0f); //convert to int
else if (hexStg[n] >='a' && hexStg[n] <= 'f') //if a to f
digit.Add((hexStg[n] & 0x0f) + 9); //convert to int
else if (hexStg[n] >='A' && hexStg[n] <= 'F') //if A to F
digit.Add((hexStg[n] & 0x0f) + 9); //convert to int
else break;
n++;
}
n--; //back one digit
int p=0; //power factor
int x=2;
while(n >=0)
{
intValue = intValue + (digit.GetAt(n)*(__int64)mypow (x, p));
n--; // next digit to process
p+=4; //everytime the power goes up in 4
}
return intValue;
}
....
sBufResult[0] = 0x01;
sBufResult[1] = 0x04;
sBufResult[2] = 0x21;
sBufResult[3] = 0xDD;
sBufResult[4] = 0x82;
s_result.Format("%s",GetHEX(hex_string_to_long(s_SN)));
es ist sehr sehr sehr dringend, bitte um Hilfe !
Danke.