c# - 你能用通俗易懂的语言为我解释这段代码吗?

标签 c# if-statement statements

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

你能解释一下这是什么意思吗?主要是第一部分。

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/

相关文章:

java - 如何使用 if 语句在构造函数中声明最终字符串?

c++ - C++ 中的错误处理 - 尝试返回到指定的语句

连续 if 语句流程

expression - 在 `return` 末尾添加分号会有所不同吗?

c# - RabbitMQ 套接字异常

c# - 将天数添加到 DateTime 返回值为 0?

c# - 无法在 WebApi 响应中设置 Content-MD5 header

c# - ASP.NET 中文本框的正则表达式验证器出现问题

php - 如果条件不起作用则嵌套

Javascript if 语句不起作用