java - 查找奇数/偶数

标签 java

我在一些练习中得到了这个示例代码,它展示了如何查找整数是奇数还是偶数。

int x = 4;

    if ( (x & 1) == 0 ) 

    {
        System.out.println("even");
    }
    else
    {
        System.out.println("odd");
    }

但我不明白你为什么要这样做“x & 1”。这样做的目的是什么?

最佳答案

在数字的二进制表示中,任何最低有效位设置为0的数字都是偶数。了解 & 运算符的作用也很有帮助。

例如5 = 0101(二进制)和1 = 0001(二进制)。在本例中,它将 01010001 进行比较。

按位比较,因此第一位将是1 & 0 = 0。第二位是0 & 0 = 0。第三位是0 & 0 = 0。最后一位是1 & 1 = 1

所以5 & 1 = 0001,即十进制的1。对于 x = 51 == 0 的计算结果为 false。

对于所有其他偶数,最低有效数字是 0,因此任何偶数 & 1 的计算结果始终为 0

关于java - 查找奇数/偶数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36021025/

相关文章:

java - 如何将html字符串传递给另一个 Activity webView

java - 像数字一样增加数组的元素

java - 如何配置 OpenEntityManagerInViewFilter Spring MVC

java - 优化MapcomputeIfPresent方法的java代码

java - 在gradle中创建jar时如何覆盖文件

java - NullpointerException 数组和对象

java - 在 Java 和 ANTLRWorks 调试器中捕获 ANTLR 的 NoViableAltException

java - 相当于python中的objectmapper

java - 用jsoup解析表数据

java - 如何从Session中保存和读取数据?