Таким образом, существует три значения, что операция модуля может дать вам:C++ с отрицательным операндом
Тогда:
-7% 5 = 3 (математика, остальное> = 0)
-7% 5 = -2 (С ++)
-7% (size_t) 5 = 4 (C++)
Другой пример:
-7% 4 = 1 (математике, остальное> = 0)
-7% 4 = -3 (C++)
-7% (size_t) 4 = 1 (C++)
Когда левый операнд положительный, ответ между всеми тремя способами одинаковый. Но для отрицательных значений у всех, похоже, есть свои методы. Как вычисляется значение операций модуля для неподписанных операндов на C++?
Ваши утверждения «математики» предполагают, что во всем мире математики есть только одно определение, которое, конечно же, неверно! –
Операции с неподписанными типами никогда не могут принимать отрицательные операнды. – hvd