例:
#include
#include
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五个十六进制数,可以如下处理:
char a[5] = {0xFA, 0xFB, 0xFC, 0xFD, 0xFE, 0xFF};
由于两位16进制长度为8bit,正好可以容纳一个两位16进制数;对于其他类型的数组,可如法炮制,只需留意数据的范围。
0xXX 就是16进制数。
#include
main()
{
char a[10]={0XFA,0XFB,0XFC,0XFD,0XFE,0XFF};
int i;
for (i=0;i<10;i++) printf("%2X ",0xff & a[i]);
return 0;
}
CHAR A[ ]="\xFA\xFB\xFC\xFD\xFE\xFF";
char类型就是8位的int型,可以直接直接复制
char A[10] = { 0XFA, 0XFB, 0XFC, 0XFD, 0XFE, 0XFF};