确定偶数/奇数(整数)?

时间:2010-09-29 21:02:58

标签: android math

我觉得这样一个简单的问题很愚蠢,但有一种简单的方法可以确定整数是偶数还是奇数?

6 个答案:

答案 0 :(得分:33)

if ((n % 2) == 0) {
    // number is even
}

else {
    // number is odd
}

答案 1 :(得分:17)

这不是特定于Android的,但是一个非常标准的功能是:

boolean isOdd( int val ) { return (val & 0x01) != 0; }

答案 2 :(得分:9)

你可以使用modular division(技术上在Java中它充当严格的余数运算符;链接有更多的讨论):

if ( ( n % 2 ) == 0 ) {
    //Is even
} else {
    //Is odd
}

答案 3 :(得分:4)

如果按位进行 - 并且使用1,则可以检测最低有效位是否为1.如果是,则数字为奇数,否则为偶数。

在C-ish语言中,bool odd = mynum & 1;

如果这是一个问题,这比mod更快(性能方面)。

答案 4 :(得分:1)

当某个运算符%不存在时,您可以使用AND运算符:

oddness = (n & 1) ? 'odd' : 'even'

答案 5 :(得分:0)

类似于其他人,但这是我的做法。

boolean isEven = i %2 ==0;