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

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

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

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

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

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

Остаток от деления знакового на знаковое через беззнаковые - C++
Каким текстом можно получить гарантированно правильный результат, если нельзя использовать готовую операцию остатка сразу для знаковых?

Как вычислить остаток от деления? - C++
Помогите пожалуйста разобраться - как вычислить остаток от деления переменной X на число Y. как воспользоваться функцией div? ...

Как найти остаток от деления - C++
Ктонибуть может подсказать: Как найти остаток от деления числа N на 3, при условии N <= 10e250

Как получить остаток от деления целго числа? - C++
по условию найти число делится на 2 (парное) #include <iostream> using namespace std; int main() { int a; cin >>...

Как найти остаток от деления чисел с плавающей точкой? - C++
Приветствую. Есть код: for(int i=0;i<n;i++) { if(mas%2.0==0.0) { t++; } } Пишет что операция "%" невозможна,...

Найти сумму чисел в диапазоне [a;b], у которых остаток от деления на 7 такой же, как и у b при делении на 7 - C++
доброго времени суток, задание такое же самое - Вводятся числа a и b. Найти сумму таких чисел в диапазоне , у которых остаток от деления...

Найти сумму таких чисел в диапазоне [a;b], у которых остаток от деления на 7 такой же, как и у b при делении на 7. - C++
Вводятся числа a и b. Найти сумму таких чисел в диапазоне , у которых остаток от деления на 7 такой же, как и у b при делении на 7. :wall:

Cout - не определён, cin -не определён - C++
// Программа для преобразования // Градусов Цельсия в Форенгейт // Fahrenheit = NCelsius * 212-32/100+32 // #include <cstdio> ...

Остаток от деления (%) - C++
Не могу понять как можно изменить структуру кода, чтобы программа считала правильно на отрицательные значения цифр. Вот код: #include...

Остаток от деления - C++
Поправьте меня в типах переменных: #include <iostream> #include <cmath> using namespace std; int main() { double...

остаток от деления - C++
Народ помогите пожалуйста)) в паскале есть такие функции div и mod div - целая часть от деления (модуль) mod -остаток от деления ...

остаток от деления - C++
обычно использовал "%" для отделения остатка от деления двух чисел только для того чтобы узнать целочисленное деление или нет. Теперь...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
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     Как определён остаток от деления знакового не знаковое?
Ответ Создать тему
Опции темы

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