编程语言
首页 > 编程语言> > C++ 浅析移位运算

C++ 浅析移位运算

作者:互联网

按位左移(<<):

  按二进制形式把所有的数字向左移动对应的位数,高位移出(舍弃),低位的空位补零

按位右移(>>):

  按二进制形式把所有的数字向右移动对应位移位数,低位移出(舍弃),高位的空位补符号位,即正数补零,负数补1

 

简单举个例子【右移>>】:

int number = 500;

number = number >> 1;

 

十进制      二进制

(500)10  <===>(1 1 1 1 1 0 1 0 0)2

右移两位:

二进制       十进制

(1 1 1 1 1 0 1)2 <====>(125)10

低位舍弃2位

 

同理【左移动<<】

十进制      二进制

(500)10  <===>(1 1 1 1 1 0 1 0 0)2

左边移两位:

二进制       十进制

(1 1 1 1 1 0 1 0 0 0 0)2 <====>(2000)10

低位舍弃2位

 

注意需要考虑溢出的问题。此处不做深究。

标签:10,舍弃,二进制,number,C++,浅析,500,十进制,移位
来源: https://www.cnblogs.com/liuruoqian/p/11631947.html