c++x>>=1是什么意思?

2025-02-25 08:07:09
推荐回答(2个)
回答1:

>>是右移运算符。
假设x=5,那么x的二进制为0101,x>>1表示x右移1位,即把最右边一位的1删掉,变为010,此时x=2;
仍然设x=5,二进制0101,x>>2表示x右移2位,把最右边两位的01去掉,变为01,此时x=1。
x>>=1等价于x=x>>1,跟x+=1等价于x=x+1是一个道理

回答2:

>>是右移运算符。
假设x=5,那么x的二进制为0101,x>>1表示x右移1位,即把最右边一位的1删掉,变为010,此时x=2;
仍然设x=5,二进制0101,x>>2表示x右移2位,把最右边两位的01去掉,变为01,此时x=1。
x>>=1等价于x=x>>1,跟x+=1等价于x=x+1是一个道理