c语言中右移’是什么意思

Python011

c语言中右移’是什么意思,第1张

c语言中右移“>>”意思是将数的对应的二进制右移,移了以后空出的补零,比如a等于129的二进制是10000001,a>>2,则a等于00100000,即a等于32,相当与129除以4等于32。右移一位相当于a除以2。左移即“<<”,将数的对应的二进制左移,相当于将原来的数乘以2,比如a等于5,的二进制是00000101,a<<2,则a等于00010100(右边空出的补零)。

>>是2进制右移,相反的还有<<是2进制左移。

举例如下,如果一个变量

int

x=5

则x的2进制表示为:

0000000000000101

执行x>>1代表x右移一位,就是上面这一串整体右移,末位淘汰,高位补0

于是x变成了

0000000000000010

也就是x变成了2

<<左移相反,高位淘汰,末位补0

你的那种x[i][j]+=>4是不行的,没有这种运算符

C语言中,“<<”为左移运算符,“>>”为右移运算符。

具体使用方法如下:

1、左移运算符(<<)

将一个运算对象的各二进制位全部左移若干位(左边的二进制位丢弃,右边补0)。

例:a = a <<2 将a的二进制位左移2位,右补0,

左移1位后a = a * 2

若左移时舍弃的高位不包含1,则每左移一位,相当于该数乘以2。

2、右移运算符(>>)

将一个数的各二进制位全部右移若干位,正数左补0,负数左补1,右边丢弃。

操作数每右移一位,相当于该数除以2。

例如:a = a >>2 将a的二进制位右移2位。

左补0 or 补1 得看被移数是正还是负。