Модуль игрек равно икс: Функция y = |x| — урок. Алгебра, 8 класс.

javascript — каков результат «x по модулю y»?

спросил

Изменено 9 лет, 4 месяца назад

Просмотрено 3к раз

Ссылка на спецификацию ECMAScript Раздел 5.2:

Запись «x по модулю y» (y должна быть конечной и отличной от нуля) вычисляет значение k того же знака, что и y (или ноль), такое что abs(k) < abs(y) и x−k = q × y для некоторого целого числа q.

поэтому, если y положителен, результат k ‘x по модулю y’ положителен независимо от знака x.

и, если я правильно понимаю, ToInt32(-1) равно ToInt32(1)?

  • JavaScript

3

Обозначение x по модулю y используется внутри спецификации для описания результата определенных операций.

Так что да, результат k из x по модулю y (по определению) того же знака, что и и . Не утверждается, что оператор % эквивалентен по модулю .

Если вам интересно, актуальную спецификацию для % можно найти в разделе 11.5.3. Интересно, что он не использует по модулю .

9

Скопируйте вставку из моего предыдущего ответа здесь:

Возьмите % b

 1. Когда оба +ve, Modulo и Remainder являются одним и тем же
2. Когда a есть -ve, они не совпадают
 

Например;

a = -10, b = 3

Остаток от -10 % 3 = -1

для модуля, прибавьте большее число, кратное 3, к вашему «a» и вычислите остаток.

-10 + 12 = 2

2 % 3 = 2 ваш ответ

Операция по модулю определяется как математическая операция по модулю:

Математические операции, такие как сложение, вычитание, отрицание, умножение, деление и математические функции, определенные позже в этом пункте всегда следует понимать как вычисление точных математические результаты о математических действительных числах, которые не включать бесконечности и не включать отрицательный ноль, т. отличается от положительного нуля.

Ваш вопрос:

ToInt32(-1) равно ToInt32(1)

Ну, нет:

Пусть posInt будет знак(число) * этаж(абс(число)).

 posInt = знак(-1) * пол(абс(-1)) = -1;
 

Пусть int32bit будет posInt по модулю 2 32 ; то есть конечное целое значение k числового типа с положительным знаком и менее 2 32 по величине, такой что математическая разница posInt и k математически целое кратное 2

32 .

 int32bit = posInt mod 4294967296 = -1 mod 4294967296 = 4294967295
 

(альфа-ссылка на вольфрам для математического результата)

Если int32bit больше или равен 2 31 , вернуть int32bit — 2 32 , в противном случае вернуть int32bit.

Поскольку 4294967295 >= 2147483648 , мы возвращаем 4294967295 - 4294967296 , т. е. -1 .

Если мы проделаем те же шаги для ToInt32(1) , получаем 1 . Так что у них не тот результат.

Зарегистрируйтесь или войдите в систему

Зарегистрируйтесь с помощью Google

Зарегистрироваться через Facebook

Зарегистрируйтесь, используя электронную почту и пароль

Опубликовать как гость

Электронная почта

Требуется, но не отображается

Опубликовать как гость

Электронная почта

Требуется, но не отображается

Морфизмы кольцевых пространств и модулей — проект The Stacks

Теперь мы ввели достаточно обозначений, чтобы можно было определить обратный и прямой перенос модулей вдоль морфизма кольцеобразных пространств.

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

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