怎么将两个8位数拼接成一个16位的数
如何将两个8位数拼接成一个16位的数
如何将两个8位数拼接成一个16位的数
我现在正在研究ZigBee 2007协议,需要一个成功的范例。谢谢
------解决思路----------------------
------解决思路----------------------
------解决思路----------------------
char buf[24]
snprintf(buf, 24, "%d%08d", num1, num2);
------解决思路----------------------
(a << 8)
------解决思路----------------------
b
------解决思路----------------------
楼主并没有说明他所采用的编译环境和执行环境。
所以,
我想知道,
如果他所采用的C的实现
一个字节是9位,或者更多位(有的机器可以达到18位)
该怎么办?
不要说我钻牛角尖,也不要说没有这样的CPU架构。
我只想说,
你们错了,
这样的机器是有的。
如何将两个8位数拼接成一个16位的数
我现在正在研究ZigBee 2007协议,需要一个成功的范例。谢谢
------解决思路----------------------
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);
------解决思路----------------------
unsigned char hi = 0x15;
unsigned char lo = 0x51;
unsigned short i = 0;
i
------解决思路----------------------
= hi << 8;
i
------解决思路----------------------
= lo;
------解决思路----------------------
char buf[24]
snprintf(buf, 24, "%d%08d", num1, num2);
------解决思路----------------------
(a << 8)
------解决思路----------------------
b
------解决思路----------------------
楼主并没有说明他所采用的编译环境和执行环境。
所以,
我想知道,
如果他所采用的C的实现
一个字节是9位,或者更多位(有的机器可以达到18位)
该怎么办?
不要说我钻牛角尖,也不要说没有这样的CPU架构。
我只想说,
你们错了,
这样的机器是有的。