Предположим, что a
и b
оба типа int
, а b
отлична от нуля. Рассмотрим результат выполнения a/b
в следующих случаях:
-
a
иb
являются неотрицательными. -
a
иb
являются отрицательными. - Именно один из них отрицательный.
В случае 1 результат округляется до ближайшего целого. Но что говорит стандарт о случаях 2 и 3? Старый проект, который я нашел в Интернете, показывает, что он зависит от реализации (да, даже случай 2), но комитет склоняется к тому, чтобы он всегда "округлялся к нулю". Кто-нибудь знает, что говорит (последний) стандарт? Ответьте только на основании стандарта, а не на то, что имеет смысл, или на то, что делают определенные компиляторы.