пятница, 12 января 2007 г.

Java Puzzle 1: Oddity

boolean isOdd( int i ) {
return i % 2 == 1;
}
Тут описывается проблема остатка от деления (оператор %).
Выражение ( i % 2 == 1 ) не работает для отрицательных чисел, так как там остаток от деления равен -1. Рекомендуют использовать выражение ( i % 2 != 0 ).

2 комментария:

  1. почему не return ( 0 != (x & 1));

    ОтветитьУдалить
  2. Не знаю...
    Я тоже люблю короткие выражения ставить в начале. И скобки лишние никогда не помешают.
    Это, видимо, после прочтения Алана Голуба "Веревка достаточной длины, чтобы выстрелить себе в ногу".

    ОтветитьУдалить