怎么样将两个8位数拼接成一个16位的数
本人现在正在研究ZigBee 2007协议,需要一个成功的范例。谢谢
本人现在正在研究ZigBee 2007协议,需要一个成功的范例。谢谢
解决方案
10
unsigned char uc[2]={0x10,0xA0}; unsigned short us1,us2; unsigned char *p; p=(unsigned char *)&us1; p[0]=uc[0];p[1]=uc[1]; p=(unsigned char *)&us2; p[0]=uc[1];p[1]=uc[0]; printf("%hu(%04hx),%hu(%04hx)\n",us1,us1,us2,us2);
10
unsigned char hi = 0x15; unsigned char lo = 0x51; unsigned short i = 0; i |= hi << 8; i |= lo;
10
char buf[24]
snprintf(buf, 24, “%d%08d”, num1, num2);
snprintf(buf, 24, “%d%08d”, num1, num2);
5
(a << 8) | b
5
题主并没有说明他所采用的编译环境和执行环境。
所以,
本人想知道,
假如他所采用的C的实现
一个字节是9位,或更多位(有的机器可以达到18位)
该怎么办?
不要说本人钻牛角尖,也不要说没有这样的CPU架构。
本人只想说,
你们错了,
这样的机器是有的。