Я чувствую себя глупо, задавая такой простой вопрос, но есть ли простой способ определить, является ли целое четным или нечетным?
Определение четных/нечетных чисел (целых чисел)?
Ответ 1
Это не совсем специфический андроид, но довольно стандартная функция:
boolean isOdd( int val ) { return (val & 0x01) != 0; }
Ответ 2
if ((n % 2) == 0) {
// number is even
}
else {
// number is odd
}
Ответ 3
Вы можете использовать модульное подразделение (технически в Java он действует как строгий оператор остатка, ссылка имеет большее обсуждение):
if ( ( n % 2 ) == 0 ) {
//Is even
} else {
//Is odd
}
Ответ 4
Если вы выполняете побитовое и 1
, вы можете определить, является ли младший значащий бит равным 1. Если это так, число нечетное, в противном случае даже.
В языках C-ish bool odd = mynum & 1;
Это быстрее (по производительности), чем mod
, если это вызывает беспокойство.
Ответ 5
Когда каким-то образом %
в качестве оператора не существует, вы можете использовать оператор AND:
oddness = (n & 1) ? 'odd' : 'even'