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

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]);

ABOUTYOU
浏览 1017回答 1
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是一个道理
打开App,查看更多内容
随时随地看视频慕课网APP