例:
#include <stdio.h>
#include <string.h>
char sDec[4] = {0x05,0xc5,0xb3,0xea};
//把 0x05,0xc5,0xb3,0xea 组合成一个十六进制数 0x05c5b3ea ,
//并且把 0x05c5b3ea 转换成十进制数。
unsigned int i,v;
int main() {
v=0;
for (i=0;i<4;i++) v|=((unsigned int)sDec[3-i]&0xFFu)<<(i*8);
printf("0x%x,%u\n",v,v);
return 0;
}
//0x5c5b3ea,96842730
扩展资料
十进制字符串转换为十进制数
char *str = "123";
int n = atoi(str);
printf("%d\n", n);
//输出:123
可以在16进制数前加"0x"然后输入数组。
如要在数组char a[5]中输入FA,FB,FC,FD,FE,FF五个十六进制数,可以如下处理:
由于两位16进制长度为8bit,正好可以容纳一个两位16进制数;对于其他类型的数组,可如法炮制,只需留意数据的范围。