我得到了数据uint16_t
,它喜欢0x2c06
。
对于0x2c06
,2c
是第一个数据,而06
是第二个数据。
我如何解析0x2c06
并把和转2c
成06
int?
提前致谢。
您可以使用 achar*
和一些指针算法来完成这项工作。
伪代码:
uint16_t var = 0x2c06;
unsigned char * temp = &var;
int first = *temp; //or second, see note
int second = *(temp + 1); // or first, see note
注意:您需要注意字节顺序
构建一组案例运算符转换 uint 并将其等同起来,例如
switch(sizeof unsign)
{
case sizeof (unsigned short int):
int result = (unsigned short int)unsign;
break;
default:
fprintf (stderr, "recast of unit_16 failed.\n");
}
抱歉,如果这里有错误,它只是在浏览器中输入的。