Рассмотрим целочисленное деление
a = bq + r
где a, b, q, r соответственно: дивиденд, делитель, частное и остаток. В частности, когда b = 0, не существует уникального q, которое удовлетворяет уравнению для данного a, и, следовательно, имеет смысл, что частное q в этом случае должно быть неопределенным.
Однако в таком случае действительно существует единственный r, а именно r = a. Исходя из предположения, что частное и остаток всегда определяются вместе, из этого следует, что r не определяется, когда q не определено, но в программировании мы часто хотим использовать операцию остатка %
независимо от деления /
. Я действительно столкнулся с ситуацией, когда я хочу if b == 0 then a else a % b end
.
Есть ли / был ли оператор в любом языке программирования такой, что он такой же, как %
, но возвращает дивиденд вместо ошибки деления на ноль, когда делитель равен 0?
Есть ли причина, по которой большинство (или все) языков программирования возвращают ошибку деления на ноль для % 0
?