为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

C++
ABOUTYOU 2018-08-23 09:09:47
void fun(int x){ char str[32];for(int i=30;i>=0;i--){ if(x%2)str[i]='1';elsestr[i]='0';x>>=1;if(!x)break;}str[31]='\0';cout<<&str[i]<<endl;WriteFile(&str[i]);
查看完整描述

1 回答

?
回首忆惘然

TA贡献1847条经验 获得超11个赞

>>是右移运算符。

假设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是一个道理


查看完整回答
反对 回复 2018-09-22
  • 1 回答
  • 0 关注
  • 1004 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信