2016-08-13 3 views
0

Мое понимание этого уравнения:Пожалуйста, подтвердите функцию из I% 2 == 0

Любое четное число, которое делится на 2 не будет иметь дробное компонент в ответ.

Любое нечетное число, разделенное на 2, будет иметь дробное число, будет иметь дробную составляющую в ответе.

 3/2 = 1.5 

Уравнение i% == 0 оценивает дробную составляющую. Таким образом, дробная составляющая означает, что это нечетное число.

 3 % 2 == 0 
     1.5 != 0 

Есть ли у меня это право?

+0

Проверка ли операция дает модуль упругости-на самом деле правильный способ различать четные и нечетные числа, так как он работает для отрицательных чисел тоже: -3% 2 дает -1, что не делает равные 0, поэтому -3 является странный. -4% 2 дает 0, поэтому даже число. –

+0

Он проверяет число даже. –

ответ

2

Любое четное число, которое делится на 2 не будет иметь никакого дробно компоненты

НЕТ, он не проверяет дробную компонент, а он проверяет остаточного члена. Таким образом, оператор модуля % возвращает оставшуюся часть операции, и да, если это четное число, тогда деление на 2 оставит 0 в качестве остатка.

0

% как оператор представляет собой операцию модуля/мод/остаток. Поэтому, если число делится на n, то возможные значения для остатка r: 0 <= r < n с указанным

Если число делится на 2, то это может привести к 0 или 1 в качестве остатка. если он приводит к 0, то число было четным, и если оно приводит к 1, то число было нечетным.

Надеюсь, это поможет.

+0

Спасибо всем! Вы все очень помогли. Я возвращаюсь взрослым учеником, и прошло некоторое время с тех пор, как у меня была базовая математика. Полностью забыл о остатках. Вы все здоровы! Спасибо что нашли время ответить. – HerdingDogRescuer

1

Оператор модуля % возвращает остальную часть номера слева, деленную на число справа.

3 % 2 == 1; // true 
4 % 2 == 0; // true 

Так что, если вы берете номер и выполнить % 2 на нем, если результат равен 0, то число четное. Если результат равен 1, то число нечетно.

boolean isEven(int i) { 
    return i % 2 == 0; 
} 
Смежные вопросы