64,652
社区成员
发帖
与我相关
我的任务
分享
unsigned char a = 0xA5;
unsigned char b = ~a >> 4 + 1;
printf("b=%d\n",b);
unsigned char a = 0xA5;
unsigned char b = (unsigned char)~a >> (4 + 1);
printf("b=%d\n",b);
可能你会问了,要是每个表达式含有按位取反的都像这样强转一下那会不会很麻烦?一般不会的,只有~混合了右移位操作的才需要。[/quote]还好没有完全相信那本书的内容,学习了,请问下这方面的知识要如何系统的学习?
unsigned char a = 0xA5;
unsigned char b = (unsigned char)~a >> (4 + 1);
printf("b=%d\n",b);
可能你会问了,要是每个表达式含有按位取反的都像这样强转一下那会不会很麻烦?一般不会的,只有~混合了右移位操作的才需要。
unsigned char a = 0xA5;
unsigned char b = (unsigned char)~a >> (4 + 1);
printf("b=%d\n",b);
可能你会问了,要是每个表达式含有按位取反的都像这样强转一下那会不会很麻烦?一般不会的,只有~混合了右移位操作的才需要。[/quote]
专业,Orz