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條經(jīng)驗 獲得超11個贊
>>是右移運算符。
假設(shè)x=5,那么x的二進制為0101,x>>1表示x右移1位,即把最右邊一位的1刪掉,變?yōu)?10,此時x=2;
仍然設(shè)x=5,二進制0101,x>>2表示x右移2位,把最右邊兩位的01去掉,變?yōu)?1,此時x=1。
x>>=1等價于x=x>>1,跟x+=1等價于x=x+1是一個道理
- 1 回答
- 0 關(guān)注
- 1056 瀏覽
添加回答
舉報
0/150
提交
取消