你能用非专业人的术语为我解释一下这段代码吗?

Ete*_*Via 2 c# if-statement statements

我正在做一个项目,我需要代码才能确定输入是否为奇数.(我还需要能够确定它是否均匀

你能解释一下这意味着什么吗?主要是第一部分.

if((x & 1) == 0)
    printf("EVEN!\n");
else
    printf("ODD!\n");
Run Code Online (Sandbox Code Playgroud)

Dan*_*Dan 8

这是一个按位操作.AND操作屏蔽每一位并留下最后一位.如果最后一位是关闭的(你正在检查零),意味着它甚至意味着它是奇数.

一个例子:

二进制形式的125是01111101

所以

01111101 AND
00000001 =
------------
00000001 
Run Code Online (Sandbox Code Playgroud)

所以125是ODD :)

检查偶数或奇数的另一种方法是使用除法模块:

if (x % 2 == 0) printf("EVEN");
else printf("ODD");
Run Code Online (Sandbox Code Playgroud)

如下面评论中的用户所述,第二种解决方案较慢(以μS表示)