C++语言“k>>=1”是什么意思

如题所述

即k=k>>1;
>>1的意思是,将这个数看成其二进制存储方式,然后右移一位,前面补0.
例如,k=8时,其二进制16bit存储为0000000000001000
k>>1后就变为0000000000000100,全部位右移一位,最低位直接舍去。
实际上就是除以2
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-09-21
>>是位运算符,表示向右移,“k>>=1”表示向K右移一位,假设k=2,换算成二进制是0010,右移一位变成了0001(低位舍去,高位补零),k的值变为1。
第2个回答  2011-09-21
k>>=1

就是

k=k>>1追问

还是没明白......k>>1有是啥意思啊?

追答

位操作符右移

C 语言基础

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

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

c\/c++中k<<=1什么意思啊
i<<=1则表示将以上的二进制码往左移动一位,低位补零。结果是:0000 0110即十进制的6.所以无符号位移有结论:i<<=n 等价于 i=i*(2的n次方); i>>=n 等价于 i=i\/(2的n次方)(n>=0)(暂不考虑溢出的情况)。2.带符号位移(暂不考虑溢出的情况)带符号位移正数和无符号位移...

地图着色问题源程序C++语言(算法设计与分析)急求
从一个省开始,给它涂上任意一种颜色1,遍历它旁边的省份,涂上与已经涂色并于他相邻的省份不同的颜色就行了。理论上4种颜色就够了.地图的四色问题嘛!可能会有多组解。用递归(dfs)就可以输出所有解了。地图着色算法C语言源代码 前面我写了一个地图着色(即四色原理)的C源代码。写完以后想了一...

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

C++中的<<符号是什么意思
左移 右移运算符 用于二进制的位移运算 比如,K的值为1,它的二进制为00000001 如果执行K<<=1;它的二进制就变成了00000010(左移了一位,超出的丢弃,不足的补0)K的值就变成了2了。

C++中<<符号什么意思
重定向,<<和>>是表示输出的方向,cout<<xxx这是定向到标准输出,而如果是ofstream file;file<<xxxx;这则表示定向到文件里面。

c语言程序求助
int N=0;int i=0,j=0;cin >> N;for(i=0;i<N;i++){ for(j=0;j<N-i;j++){ cout << "*";} cout << endl;}

c++ 中 k^=1; 什么意思??
K^=1 ,就是k = k^1 , 就是k 与1 的 异或。

c++中1 <<k的意思
1左移k位,即2^k(2的k次方)

相似回答