怎么判断一个数是奇数还是偶数?
判断一个数是奇数还是偶数,我们最容易想到的就是对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