请教C++运算符:k >>= 1什么意思

如题所述

第1个回答  2011-06-27
k = k >> 1的缩写
即,将k右移一位然后赋值给k
第2个回答  2011-06-27
将对应的变量按位右移1位,右移的前提是将变量转换为2进制,当然这个由程序自己处理,不过你需要知道。
例如5>>=1,首先将5转换为2进制,结果是0101,右移一位就成了0010,转换回十进制就成了2了,就这样本回答被提问者采纳
第3个回答  2011-06-27
把k右移一位,结果保存到变量k里
第4个回答  2011-06-27
k=k>>1
第5个回答  2011-06-27
相当于除以 2;

请教C++运算符:k >>= 1什么意思
k = k >> 1的缩写 即,将k右移一位然后赋值给k

C++语言“k>>=1”是什么意思
>>1的意思是,将这个数看成其二进制存储方式,然后右移一位,前面补0.例如,k=8时,其二进制16bit存储为0000000000001000 k>>1后就变为0000000000000100,全部位右移一位,最低位直接舍去。实际上就是除以2

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

c++中<<的用法 比如que[0]=(r<<1); k=que[pq]>>1;
运算符来说:>>是左移标志,<<是右移标志,对于整形数和char类型的数来说,左移N位相当于乘上2^N,右移N位相当于除上2^N次方。举个例子来说明更深层次的意义:char本来是一个8位的二进制数 左移就相当于把char每位二进制的数向【左】边移了一格,末尾用零补齐。右移就相当于把char每位二...

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

高手请看,这个c++函数中的 x》=1是什么意思
一、位运算符C语言提供了六种位运算符:& 按位与 | 按位或 ^ 按位异或 ~ 取反 << 左移 >> 右移 用法:1.按位与运算符 & 按位与运算符是双目运算符,其功能是将参与运算的两操作数各自对应的二进制为进行于操作。只有对应的两个二进制位均为1 是,结果对应的二进制位才为 1,否则为0...

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

c++中>>=什么意思
a=a>>1 即将a右移动1位。这时将a看成是2进制数就好理解了

在c++中">>="表示什么?
>>=是一个二元运算符, 左操作数必须为可寻址的, 它会把左操作数右移右操作数的个数, 然后保存, 并返回指向左操作数的引用.

C++ 右移运算符 m>>1和m>>=1的区别
m >> 1; \/\/ 是指把 m这个数右移一位,得到结果,当时不改变 m本身。m >>= 1; \/\/ 是指把 m这个数右移一位,得到结果,并把结果赋值给 m 因此 m 的值被改变

相似回答
大家正在搜