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

voidfun(intx){charstr[32];for(inti=30;i>=0;i--){if(x%2)str[i]='1';elsestr[i]='0';x>>=... void fun(int x)
{ char str[32];
for(int i=30;i>=0;i--)
{ if(x%2)
str[i]='1';
else
str[i]='0';
x>>=1;
if(!x)
break;}
str[31]='\0';
cout<<&str[i]<<endl;
WriteFile(&str[i]);
展开
 我来答
7nianxdren
推荐于2018-02-04 · TA获得超过338个赞
知道小有建树答主
回答量:117
采纳率:0%
帮助的人:196万
展开全部
>>是右移运算符。
假设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是一个道理
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式