boolean isOdd( int i ) {
return i % 2 == 1;
}
Тут описывается проблема остатка от деления (оператор %).
Выражение ( i % 2 == 1 ) не работает для отрицательных чисел, так как там остаток от деления равен -1. Рекомендуют использовать выражение ( i % 2 != 0 ).
почему не return ( 0 != (x & 1));
ОтветитьУдалитьНе знаю...
ОтветитьУдалитьЯ тоже люблю короткие выражения ставить в начале. И скобки лишние никогда не помешают.
Это, видимо, после прочтения Алана Голуба "Веревка достаточной длины, чтобы выстрелить себе в ногу".