Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
#1

Как определён остаток от деления знакового не знаковое? - C++

31.12.2012, 09:12. Просмотров 412. Ответов 5
Метки нет (Все метки)

Когда оба операнда беззнаковые, то всё понятно: округляем частное вниз до целых, потом умножаем снова на делитель, это произведение вычитаем из делимого и получим результат, идентичный остатку. Реализация конечно другая, просто последняя разность в алгоритме деления уголком, но результат идентичен тому, что я написал. А если один, или оба операнда отрицательны? Тогда как? И как остаток сформулирован в стандарте языка, или каков точный перевод этого определения?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.12.2012, 09:12     Как определён остаток от деления знакового не знаковое?
Посмотрите здесь:

остаток от деления C++
остаток от деления C++
C++ Найти сумму таких чисел в диапазоне [a;b], у которых остаток от деления на 7 такой же, как и у b при делении на 7.
остаток от деления C++
Как вычислить остаток от деления? C++
Как найти остаток от деления C++
Остаток от деления C++
C++ Остаток от деления знакового на знаковое через беззнаковые
C++ Как получить остаток от деления целго числа?
Cout - не определён, cin -не определён C++
Как найти остаток от деления чисел с плавающей точкой? C++
C++ Найти сумму чисел в диапазоне [a;b], у которых остаток от деления на 7 такой же, как и у b при делении на 7

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Nixy
ComfyMobile
400 / 281 / 8
Регистрация: 24.07.2012
Сообщений: 916
31.12.2012, 11:05     Как определён остаток от деления знакового не знаковое? #2
я думал вопрос решен википедия, я вот не понимаю как можно брать знак делителя, так как при делении если получается остаток ,то это именно то число которое нужно добавить к результату умножения частного на делитель, частное по знаку зависит и от делимого и от делителя, если они одного знака то + , если разных то минус,но остаток должен принимать знак делимого, так как домножив частное на делитель мы получим число которое по знаку совподает с делимым , и оно меньше по абсолютному значению, есди его вычесть из делимого получится остаток знака делимого
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
31.12.2012, 11:50  [ТС]     Как определён остаток от деления знакового не знаковое? #3
Смотри: если при делении отрицательного на положительное частное округлить вниз, то остаток, оперделённый по вике, будет положительным:
-128/6=-22+4/6, остаток +4, не полное частное -22, 128/6=21/6+2/6, остаток +2, не полное частное 21. Проблемы? Вот меня и интересует, куда по стандарту округляется частное и как определён остаток. В стандарте языка, а не в математике.
OhMyGodSoLong
~ Эврика! ~
1243 / 992 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
31.12.2012, 11:58     Как определён остаток от деления знакового не знаковое? #4
Да никаких проблем. –128 и 128 — разные числа.

В стандарте остаток определяется как вторничный по отношению к делению (тыц, 5.6/4): оператор / даёт целочисленное частное, округляемое к нулю; оператор % ведёт себя так, что если a / b представимо типом результата, то (a / b) * b + a % b == a. То есть -128 % 6 == -2.

С этим тоже никаких проблем (по модулю 6).
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
31.12.2012, 12:03  [ТС]     Как определён остаток от деления знакового не знаковое? #5
Тогда просто возьму последнюю разность при беззнаковом делении и скорректирую знак.
Nixy
ComfyMobile
400 / 281 / 8
Регистрация: 24.07.2012
Сообщений: 916
31.12.2012, 12:08     Как определён остаток от деления знакового не знаковое? #6
taras atavin, очень страно википедия округляет,я не заметил, но как написал
~OhMyGodSoLong~, все вполне поддается математике
Yandex
Объявления
31.12.2012, 12:08     Как определён остаток от деления знакового не знаковое?
Ответ Создать тему
Опции темы

Текущее время: 04:02. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru