我获得了0x2c06
的数据,就像0x2c06
。
对于2c
,06
是第一个数据,0x2c06
是第二个数据。
如何解析2c
并将06
和lists()
转为int?
提前致谢。
答案 0 :(得分:0)
您可以使用char*
和一些指针算术来完成此操作。
伪代码:
uint16_t var = 0x2c06;
unsigned char * temp = &var;
int first = *temp; //or second, see note
int second = *(temp + 1); // or first, see note
注意:您需要照顾endianness
答案 1 :(得分:-3)
构建一组case操作符转换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");
}
对不起,如果有错误,只需输入浏览器即可。