c语言左移右移

来源:百度知道 编辑:UC知道 时间:2024/07/06 18:31:45
int a=3,b=6,c;
c=a^b<<2;

求答案的完整解法 我怎么算都是00010100,正确答案应该是00011011
我用devc++算过了,答案是27 也就是00011011

你优先级没注意,<<的优先级比 ^ 的高,所以应该先算b<<2 ,为00011000; 再算与a异或运算就可以了!

要从右往左算 3是00000110 经过<<2 是00011000 然后2是00000011 经过和^00011000 就是 00011011 就是17了