需要对三个字节的数据进行运算,发现编译报错,例如
uint8 a[3]={0x11,0x22,0x33};
long b;
b=((a[0])<<16)+((a[1])<<8)+a[2];
Alvin Chen:
这和CC2530无关,C语言基础问题,移位太大了,超边界。
YiKai Chen:
uint8只有8bits你左移16當然会出問題
需要对三个字节的数据进行运算,发现编译报错,例如
uint8 a[3]={0x11,0x22,0x33};
long b;
b=((a[0])<<16)+((a[1])<<8)+a[2];
这和CC2530无关,C语言基础问题,移位太大了,超边界。
uint8只有8bits你左移16當然会出問題