怎么判断一个数是奇数还是偶数?

怎么判断一个数是奇数还是偶数?

判断一个数是奇数还是偶数,我们最容易想到的就是对2取余。

方法一

int number = 11;
if (number % 2 == 0) {
    System.out.println("Number为偶数");
} else {
    System.out.println("Number为奇数");
}

输出结果:Number为奇数

int number = 10;
if (number % 2 == 0) {
    System.out.println("Number为偶数");
} else {
    System.out.println("Number为奇数");
}

输出结果:Number为偶数

方法二

int number = 11;
if ((number & 1) == 0) {
    System.out.println("Number为偶数");
} else {
    System.out.println("Number为奇数");
}

输出结果:Number为奇数

int number = 10;
if ((number & 1) == 0) {
    System.out.println("Number为偶数");
} else {
    System.out.println("Number为奇数");
}

输出结果:Number为偶数

方法二的原理是什么呢?

在计算机中,数据以补码的二进制存储的。
偶数的最低为一定是0。
奇数的最低为一定是1。
所以如果要判断这个数是奇数还是偶数,只需要用这个数按位与1就可以了。
如果结果为0,那么这个数就是偶数,如果结果为1,那么这个数就是奇数。

我的学习论坛

HandsomeForum:用Java编写的学习论坛,打造我们自己的圈子!(http://huangjunjie.vip:66)
文章链接:http://huangjunjie.vip:66/blog/read/pahjl1d26w0f4u1ogx


版权声明:本文为weixin_59262008原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。