您的位置首页百科问答

C 程序中5>>2与5<<2有什么区别

一、作用不同

1、5>>2:右移运算符,是将一个二进制位的操作数按指定移动的位数向右移动,移出位被丢弃,左边移出的空位或者一律补0,或者补符号位。

2、5<<2:左移运算符,将一个数的各二进制位全部左移慎缺若干位,移动的位数由右操作数指定,右操作数必须是非负值,其右边空出的位用0填补,高位左移溢出则舍弃该高位。

C 程序中5>>2与5<<2有什么区别

二、结果不同

1、5>>2:0000 0101 变成 0000 0001。

2、5<<2:0000 0101 变成 0001 0100。

三、特点不同

1、5>>2:实际移动的次数是移动次数和32的余数,也就是移位33次和移位1次得到的结果相同。

2、5<<2:位移位运算符是同级别的,结合性是自左向右

参考资料来宽绝辩源:百度百科-左移运宏枯算符

参考资料来源:百度百科-右移运算符