Я спрашиваю не об определении, а о том, почему создатели языка решили определять модуль с асимметричным поведением в C ++.(Я думаю, что Java тоже)
Предположим, я хочу найти наименьшее число, большее или равное n, которое делится на f.
Если n положительно, то я делаю:
if(n % f)
ans = n + f - n % f;
Если n отрицательно:
ans = n - n % f;
Очевидно, что это определение не является наиболее целесообразным при работе с отрицательными и положительными числами.Итак, почему это было определено как это?В каком случае это дает целесообразность?