语句if(a&b)如何判断真假????
当a不等于b的时候也可能为真啊,比如0101&0001,这个结果肯定不是0啊,那究竟如何判断呢???? if a&b
[解决办法]
a与b不存在同一二进制位都为1的情况时为真
[解决办法]
就是a和b按位与,结果是0的话就是假,其它都是真。
[解决办法]
0为假,其他(大于0或者小于0)都是真。
[解决办法]
判断两个值是否相等用“同或”,C语言里没提供“同或”符号,但是提供了“异或”。
“异或”取反既是“同或”。
方法:if (!(a^b))
[解决办法]
bool result = false;
for( int i = 0; i < 32; ++ i)
{
result = result
[解决办法]
((a & (1 << i )) != 0 && (b & (1 << i )) != 0);
}
[解决办法]
a&b,与操作:只有同为1时为1,其他为0.例如:0101&0001,其结果是0001,转为十进制是1。
[解决办法]
这是按位与,只有两个都为1的时候才是1,否则为0
[解决办法]
就看相与是不是为0了!
看你的目的了
你是想判断相等呢,还是过滤呢?
这种用法过滤作用较多,比如获取指定的位
[解决办法]