将一个十六进制的数组转换成一个十六进制数

有下面数组

char array[3] = {0x30,0x50,0x44};

如何转换成305044这个十进制数的十六进制形式

做法如下:

unsigned int addr = 0;

unsigned temp[10] = {0x00};

addr = array[0]<<16 | array[1]<<8 | array[2];
sprintf(temp,"%x",addr);
addr = atoi(temp);

或许有更好的办法,望多多评论指教!


你可能感兴趣的:(将一个十六进制的数组转换成一个十六进制数)