Ete*_*Via 2 c# if-statement statements
我正在做一个项目,我需要代码才能确定输入是否为奇数.(我还需要能够确定它是否均匀
你能解释一下这意味着什么吗?主要是第一部分.
if((x & 1) == 0)
printf("EVEN!\n");
else
printf("ODD!\n");
Run Code Online (Sandbox Code Playgroud)
这是一个按位操作.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表示)