C语言中的语句a>>=2是什么意思,比如a=10101110 ,那么最终的值多少

C语言中的语句a>>=2是什么意思,比如a=10101110 ,那么最终的值多少C语言中的语句a>>=2是什么意思,比如a=10101110 ,那么最终的值多少

>>=只对整数管用,右移后面的数字那么多位,再将结果赋给左边的变量。a>>=2就是将变量a的值右移2位再将结果赋给a。意义与“将a的值除以4并将结果赋给a”等价——右移多少位,效果就是除以2的多少次方。
温馨提示:内容为网友见解,仅供参考
第1个回答  2019-10-03
C语言中的语句a>>=2,就是把a的二进制值的最后2位抹掉。
比如a=10101110,经过a>>=2后,a的值就是101011。追问

还是感觉十分别扭,两个运输符怎么可以挨着

追答

两个运算符是可以挨着的。a>>=2等价于a=a>>2
这很常见:

x+=a;
y-=b;
…………

第2个回答  2019-10-03
你这给的是十进制。右移两位,十进制上相当于除以4,所以结果是10101110/4。
你要表示二进制,可以在C语言里用16进制。

int a = 0xae;//10101110
a>>=2;
printf("%x",a);//结果为0x2b---00101011本回答被网友采纳
第3个回答  2019-10-03
就是把a的右移2位,前面补充2个零,
最终结果是00101011追问

还是感觉十分别扭,两个运输符怎么可以挨着

追答

习惯就好。

第4个回答  2019-10-03
右移存在最左边补位问题,值得注意

C语言中的语句a>>=2是什么意思,比如a=10101110 ,那么最终的值多少_百度...
>>=只对整数管用,右移后面的数字那么多位,再将结果赋给左边的变量。a>>=2就是将变量a的值右移2位再将结果赋给a。意义与“将a的值除以4并将结果赋给a”等价——右移多少位,效果就是除以2的多少次方。

c语言中同或、异或怎么表示
(2)与0相异或,保留原值 ,X ^ 0000 0000 = 1010 1110。例:X=10101110,使X低4位翻转,用X ^ 0000 1111 = 1010 0001即可得到。(3)基于异或运算,不引用新变量交换两个变量的值 a = a ^ b; b = a ^ b; a = a ^ b;【同样基于加减法的话有:a = a + b; b = a - b...

c语言a|b 什么意思
非...

相似回答