Mod javascript: Remainder (%) — JavaScript | MDN

Остаток (%) — 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
Включите JavaScript для просмотра данных.

  • Оператор сложения
  • Оператор вычитания
  • Оператор отделения
  • Оператор умножения
  • Оператор возведения в степень
  • Оператор приращения
  • Оператор уменьшения
  • Унарный оператор отрицания
  • Унарный плюс оператор
  • Оператор остатка против оператора по модулю

Обнаружили проблему с содержанием этой страницы?

  • Отредактируйте страницу на GitHub.
  • Сообщить о проблеме с содержимым.
  • Посмотреть исходный код на GitHub.

Хотите принять более активное участие?

Узнайте, как внести свой вклад.

Последний раз эта страница была изменена участниками MDN.

Остаток JavaScript (%) Оператор — GeeksforGeeks

Улучшить статью

Сохранить статью

  • Последнее обновление: 06 Янв, 2023

  • Читать
  • Обсудить
  • Улучшить статью

    Сохранить статью

    Оператор остатка в JavaScript используется для получения остаточного значения при делении операнда на другой операнд. В некоторых языках % считается по модулю. Модуль и остаток работают по-разному, когда знак обоих операндов различен.

    В JavaScript остаток принимает знак делимого, и для получения по модулю ((a % n) + n) вместо % n следует использовать % n.

    Синтаксис

     остаток = переменная1 % переменная2 

    Пример 1:

    Этот пример возвращает положительный остаток, в этом случае и модуль, и остаток будут одинаковыми, поскольку оба операнда положительны.

    Javascript

    var mod = ((a%n)+n)%n

          

         console. log( "Remainder is " +rem)

         console.log( "Modulo is " +mod)

    Вывод:

     "Остаток равен 0"
    «По модулю равно 0» 

    Пример 2: В этом примере возвращается отрицательный остаток, поскольку делимое отрицательно.

    Javascript

        

         var a =-4

         var n = 2

          

        

         var rem = a%n

          

        

         var mod = ((a%n)+n)%n

    Консоль.

    log (REM)

    Консоль.log (MOD)

    11000

    995959

    199,

    99595959

    9595959595959595959595959595

    9995959595

    9

    959595

    .0087

    Вывод:

      -0 
      0   

    Example 3: Remainder with Infinity and NaN

    Javascript

         console. log(NaN%NaN)

     

        

         console.log(NaN%2)

          

        

         console.log(NaN%Infinity)

          

        

         console.log(Infinity%NaN)

          

        

    Консоль.log (Infinity%Infinity)

    Консоль.

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *