int u = 21;
int v = 10;
if (u && v) printf(“ Time to move on!! ”);
if (u & v) printf(“Do it today!! \n”);
这只会打印“Time to move on!!”这是有道理的,因为在第一个 if 语句中 u 和 v 都是 true,但是对于“if (u & v)”,我不确定它是如何确定这是真还是假。我明白了 & 是 21 和 10 的两个二进制表示,但是然后呢?谢谢!
最佳答案
21 的二进制为 10101
,而 10 的二进制为 01010
。按位 &
返回 00000
或 0
,即 false
。
关于c - 为什么这个按位运算符结果为假?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29756858/