首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

关于 & 操作符的有关问题

2013-07-01 
关于 & 操作符的问题i 是一个整数,if(i & 1) 0 可以说明i是10倍数,这个是怎么算的?表示经常对&这个符号

关于 & 操作符的问题
i 是一个整数,if(i & 1) == 0 可以说明i是10倍数,这个是怎么算的?表示经常对&这个符号感到迷惑,请各位指点一下。
谢谢!
[解决办法]
LZ说的10的倍数,意思是10(2的二进制)吧? 1的二进制表示为0001(以4bit举例),那么i&1,按位与得0必然是i的二进制为XXX0,即所有2的倍数,亦即偶数。
[解决办法]
if(i & 1 == 0 )只能说明i是偶数
[解决办法]
这个。。只能说明i是2的倍数。。意思就是看i的二进制形式的最后一位为0。。那当然是一个偶数。。
[解决办法]
1&0 = 0;
1&1 = 1;
1
[解决办法]
0 = 1;
1
[解决办法]
1 = 1;
[解决办法]
c语言有操作符重载。具体使用看语境了
&是取地址,也是与二进制操作
所以你的代码只能说明,i要么是0,要么就是2的倍数。
想想二进制就明白啦

热点排行