Supongamos que a
y b
son del tipo int
, y b
es distinto de cero. Considere el resultado de realizar a/b
en los siguientes casos:Redondeo de división entera con negativos en C++
a
yb
son tanto no negativo.a
yb
son negativos.- Exactamente uno de ellos es negativo.
En el Caso 1, el resultado se redondea al entero más cercano. Pero, ¿qué dice la norma sobre los casos 2 y 3? Un viejo borrador que encontré flotando en Internet indica que depende de la implementación (sí, incluso del caso 2), pero el comité se inclina a hacerlo siempre 'redondo hacia cero'. ¿Alguien sabe lo que dice el (último) estándar? Responda solo en función del estándar, no de lo que tenga sentido o de lo que hagan los compiladores en particular.
Increíble oportunidad de investigación dada la naturaleza de 1200 páginas del estándar. Voy a darle un grep rápido y renunciar :) –