Остаток (%) — JavaScript | МДН
Остаток ( %
) возвращает остаток, когда один
операнд делится на второй операнд. Он всегда принимает знак делимого.
Для операции n % d
, n
называется делимым, а d
называется делителем. Операция возвращает NaN
, если один из операндов равен NaN
, n
равно ±бесконечность или если d
равно ±0. В противном случае, если d
равно ±бесконечности или если n
равно ±0, возвращается делимое n
.
Когда оба операнда отличны от нуля и конечны, остаток r
вычисляется как r := n - d * q
, где q
— целое число, такое что r
имеет тот же знак, что и делимое n
, максимально приближенный к 0.
Обратите внимание, что хотя в большинстве языков ‘%’ является оператором остатка, в некоторых (например, Python, Perl) это оператор по модулю.
k := n - d * q
, где q
— целое число, такое что k
имеет тот же знак, что и делитель d
, но при этом максимально близко к 0. Для двух значений одного и того же знака они эквивалентны, но когда операнды имеют разные знаки, результат по модулю всегда имеет тот же знак, что и делитель , а остаток имеет тот же знак, что и делимое , что могут различать их на одну единицу d
. Чтобы получить по модулю в JavaScript вместо n % d
, используйте ((n % d) + d) % d
. В JavaScript операция по модулю (у которой нет специального оператора) используется для нормализации второго операнда операторов побитового сдвига ( <<
, >>
и т. д.), делая смещение всегда положительным значением.Остаток с положительным дивидендом
13 % 5; // 3 1 % -2; // 1 1 % 2; // 1 2 % 3; // 2 5,5 % 2; // 1,5
Остаток с отрицательным дивидендом
-13 % 5; // -3 -1 % 2; // -1 -4 % 2; // -0
Остаток с NaN
NaN % 2; // NaN
Остаток с бесконечностью
Бесконечность % 2; // NaN Бесконечность % 0; // NaN Бесконечность % Бесконечность; // NaN 2 % Бесконечность; // 2 0 % Бесконечность; // 0
Спецификация |
---|
Спецификация языка ECMAScript # sec-multiplicative-operators |
- Оператор сложения
- Оператор вычитания
- Оператор отделения
- Оператор умножения
- Оператор возведения в степень
- Оператор приращения
- Оператор уменьшения
- Унарный оператор отрицания
- Унарный плюс оператор
- Оператор остатка против оператора по модулю
Обнаружили проблему с содержанием этой страницы?
- Отредактируйте страницу на GitHub.
- Сообщить о проблеме с содержимым.
- Посмотреть исходный код на GitHub.
Хотите принять более активное участие?
Узнайте, как внести свой вклад.
Последний раз эта страница была изменена участниками MDN.
Остаток JavaScript (%) Оператор — GeeksforGeeks
Улучшить статью
Сохранить статью
- Последнее обновление: 06 Янв, 2023
Улучшить статью
Сохранить статью
Оператор остатка в JavaScript используется для получения остаточного значения при делении операнда на другой операнд. В некоторых языках % считается по модулю. Модуль и остаток работают по-разному, когда знак обоих операндов различен.
В JavaScript остаток принимает знак делимого, и для получения по модулю ((a % n) + n) вместо % n следует использовать % n.
Синтаксис
остаток = переменная1 % переменная2
Пример 1:
Этот пример возвращает положительный остаток, в этом случае и модуль, и остаток будут одинаковыми, поскольку оба операнда положительны.Javascript
|
Вывод:
"Остаток равен 0" «По модулю равно 0»
Пример 2: В этом примере возвращается отрицательный остаток, поскольку делимое отрицательно.
Javascript
995959 99595959 9595959595959595959595959595 9995959595 9 959595 |
Вывод:
-0 0
Example 3: Remainder with Infinity and NaN
Javascript
Консоль.log (Infinity%Infinity) |