发布网友
共3个回答
热心网友
if(i&1==1) 表示 如果是 奇数 则。。。
i&1 -- 按位与运算,取 2进制整数 i 的最低位,如果最低位是1 则得1,如果最低位是0 则得0。 奇数 i 的最低位 是1,偶数i 的最低位 是0。
i 2进制 &1
0 0000 0000 &1 得0 偶数
1 0000 0001 &1 得1 奇数
2 0000 0010 &1 得0 偶数
3 0000 0011 &1 得1 奇数
4 0000 0100 &1 得0 偶数
if((i&1)==1){} 和 if(i& (1==1) ){} 的结果 一样,表示 如果是 奇数 则执行 {}. 因为 1==1 得 真,真就是 1,然后 i & 1, i奇数得1,i偶数得0。所以 i奇数 执行 {}.
热心网友
i&1=1
1==1
结果为真
热心网友
i与1按位与之后再与1进行比较,比如i=2,则2的二进制代码为假设为8位,0000 0010而1的二进制为0000 00001两个数按位与就是
0000 0010
& 0000 0001
结果 0000 0000
结果i&1为0,然后使用0==1比较,结果为假。