int main() { unsigned char a=0xA5; unsigned char b=~a>>4+1; printf("b=%d\n",b);}你答案245错了吗?
展开全部
a=0xa5;a的二进制为:10100101
b=~a>>4+1不熟悉优先级的会搞混;b=~(a>>(4+1));
其意思是:a右移4+1位再取反;
a右移5位为:0000 0101 a再取反为:1111 1010;
此时a的10进制为250
b=~a>>4+1不熟悉优先级的会搞混;b=~(a>>(4+1));
其意思是:a右移4+1位再取反;
a右移5位为:0000 0101 a再取反为:1111 1010;
此时a的10进制为250
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询