Оператор по модулю изменения в C ++ 11? [Дубликат]

Возможный дубликат:

C ++ оператор% гарантирует

В С ++ 98/03

5.6-4

Двоичный / оператор дает частное, а двоичный оператор% - остаток от деления первого выражения на второе. Если второй операнд / или% равен нулю, поведение не определено; в противном случае (a / b) * b + a% b равно a.Если оба операнда неотрицательны, то остаток неотрицателен; если нет, то знак остатка определяется реализацией.

В с ++ 11:

5,6 -4

Двоичный / оператор дает частное, а двоичный оператор% - остаток от деления первого выражения на второе. Если второй операнд / или% равен нулю, поведение не определено. Для целочисленных операндов оператор / дает алгебраическое частное с любой отброшенной дробной частью; 81, если частное a / b представимо в типе результата, (a / b) * b + a% b равно a.

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

Ответы на вопрос(2)

Ваш ответ на вопрос