c/c++中char和unsigned char的区别
int main(void)
{
char x=0x80;
unsigned char y = 0x80;
printf("HEX=%1X,HEX=%1X\n", x>>1, y>>1);
}
不只是输出结果不同, 尤其注意右移位,char 0x80 右移1位是 0xC0, unsigned char 0x80 右移1位是 0x40,所以驱动开发尽量还是用unsigned char 以免因得不到想要的值,导致程序崩溃