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

>>是右移运算符。
假设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是一个道理
温馨提示:内容为网友见解,仅供参考
无其他回答

c++x>>=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是一个道理 ...

x>>=1;在C++里面是什么意思
>>是右移运算符。 <<是左移运算符 x >>= 1 等同于 x = x\/2;这是位运算, >>左移运算,<< 右移运算 x >> n 等同于 x \/ (2^n)x << n 等同于 x * (2^n)当然了,要注意类型所占内存的大小,以防溢出 二进制位移操作。当 x 为 1 时,1 转为二进制还是 1,向左位移变...

x>>=1是啥意思??是在c++里遇到的望解答
x=x>>1,即将x的值右移一位。

高手请看,这个c++函数中的 x》=1是什么意思
x>>=1;>>是位运算符,假如x=9,用二进制表示就是01001,然后右移一位,变成00100,是十进制的8.下面给你介绍一下位运算法符 一、位运算符C语言提供了六种位运算符:& 按位与 | 按位或 ^ 按位异或 ~ 取反 << 左移 >> 右移 用法:1.按位与运算符 & 按位与运算符是双目运算符,其...

C++中“>>”符号什么意思
2进制运算,按位右移运算符。例如:int x=7,y;y = x >> 1; 右移1位. x 2进制 是 0000 0111, 右移1位: 0000 0011 变10进制 3 ">>" -- 字符串常量。printf(">>");输出字符串: >>

C++中>>是什么运算
位的右移操作运算符,每右移以为相当于乘以2 比如 unsigned int i = 1;i >>= 1;i的结果就变成了 1 x 2 = 2.

在c++中为什么用 1<=x<=10表示x大于等于1小于等于10
因为c里面运算符右结合特性,所以你这样写等效于1<=( x<=10),如果x> 10,那么后面x<=10为假,即1<=0,这个不成立,也就是不满足条件了,如果x<=10,那么这个式子就为真。即x<1的话,这个式子也成立,而不能表示出x>=1这个关系

C++中>>是什么意思
与变量在一起的时候表示左移操作,相当于乘以2。关于C++中各种符号的含义:“&”:引用声明符;地址运算符,赋值给指针;“&&”:逻辑与运算;“->”:指针操作符号;“^”:异或运算;“=”:赋值;用于分隔变量说明和初始化表;“==”:运算符,等于的意思;“!=”:运算符,不等于的意思;“...

C语言中“>>=,<<=,&=,^=,|=”分别表示什么意思?请举例说明
1、C语言中的 >>= 意思为:右移后赋值 代码示例为:x = 8; x >>= 3;右移后结果为:00000000 00000000 00000000 00000001 2、C语言中的 <<= 意思为:左移后赋值 代码示例为:x = 8;x <<= 3;左移后赋值结果为:00000000 00000000 00000000 01000000 3、C语言中的 &= 意思为:按位与...

C++ 中 "="和"=="的区别
=是赋值运算符 ==是相等运算符 for( ; x = 1; )则会造成判断的错误,因为x为1,任何非零的值都被当作true,即无线循环。x == 1和1 == x是等价的。但是我比较同意x == 1,因为这个逻辑更为清晰,而且也符合数学的习惯。

相似回答