C语言中<<是什么意思

char x=3,y=6,z;
z=x^y<<2;

0011
0110
0101=5
我先知道接下是怎么弄得.
谢谢!

int x=3,y=6,z;
z=x^y<<2;
这个答案应该是27,<<为左移运算符,优先级比^高,所以y左移两位相等于4,再和x做异或运算得27.
y<<2==11000
x=00011
异或==11011化成十进制便等于27
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-03-26
<< 是左移运算符。
8位
00000101 向左移动两位变为00010100后面补两个0结果就是16+4=20.
第2个回答  2016-08-30
一楼回答的是正解,它和+=、-=的用法类似。
其实:
a=10;
b=3;
a%=b;//等价于a=a%b其实现在a就是1
第3个回答  2009-03-26
一中重载的符号,一般出现在cin、cout中
第4个回答  2020-01-13
相似回答