-3

我得到了数据uint16_t,它喜欢0x2c06

对于0x2c06,2c是第一个数据,而06是第二个数据。

我如何解析0x2c06并把和转2c06int?

提前致谢。

4

2 回答 2

1

您可以使用 achar*和一些指针算法来完成这项工作。

伪代码:

uint16_t var = 0x2c06;
unsigned char * temp = &var;

int first = *temp;               //or second, see note
int second = *(temp + 1);       // or first, see note

注意:您需要注意字节顺序

于 2015-05-04T07:19:54.163 回答
-2

构建一组案例运算符转换 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");

}

抱歉,如果这里有错误,它只是在浏览器中输入的。

于 2015-05-04T07:28:30.523 回答