我正在做一个项目,我需要代码来确定输入是否奇数。 (我还需要能够确定它是否均匀
你能解释一下这是什么意思吗?主要是第一部分。
if((x & 1) == 0)
printf("EVEN!\n");
else
printf("ODD!\n");
最佳答案
这是一个位运算。 AND 操作屏蔽每一位并保留最后一位。如果最后一位关闭(您正在检查零),则表示它是偶数,否则表示它是奇数。
一个例子:
125的二进制形式是01111101
所以
01111101 AND
00000001 =
------------
00000001
所以 125 是奇数 :)
检查偶数或奇数的另一种方法是使用除法模块:
if (x % 2 == 0) printf("EVEN");
else printf("ODD");
正如用户在下面的评论中指出的那样,第二种解决方案较慢(以 μS 为单位)
关于c# - 你能用通俗易懂的语言为我解释这段代码吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18918683/