C++ неправильный остаток от деления! - Вопросы по С+

Вопрос C++ неправильный остаток от деления!

Регистрация
8 Дек 2013
Сообщения
100
Репутация
0
Спасибо
0
Монет
0
-19 - (-19 / -5) * -5 = -19 - 3 * -5 = -19 + 15 = -4

Я же давал ссылку на wiki c таблицей операций взятия остатка.

Если округление к 0 (С++), знак остатка совпадает со знаком числителя и не зависит от знака знаменателя.

Если округление к -∞ (Python), знак остатка совпадает со знаком знаменателя и не зависит от знака числителя.

Это не "неправильный остаток". Это такая операция целочисленного деления.

Python: -19 % -5 = -4
-19 % 5 = 1
19 % -5 = -1
19 % 5 = 4 С++: -19 % -5 = -4
-19 % 5 = -4
19 % -5 = 4
19 % 5 = 4 В любом языке: (-a) % (-b) = -(a % b)
 
Регистрация
23 Июл 2013
Сообщения
100
Репутация
0
Спасибо
0
Монет
0
По определению a % b = a - (a / b) * b Если -19 / -5 будет 3, то -19 % -5 получается -4.
 
Регистрация
25 Дек 2013
Сообщения
94
Репутация
0
Спасибо
1
Монет
0
остаток должен быть "4"
 
Сверху Снизу