2 meneos
5 clics
Calcular la media de dos enteros sin signo sin desbordamiento [ENG]
Calcular la media de dos números enteros sin signo redondeando a cero suena sencillo: `unsigned average(unsigned a, unsigned b) { return (a + b) / 2; }`. Sin embargo, esto da una respuesta incorrecta frente al desbordamiento de enteros: por ejemplo, si los enteros sin signo tienen 32 bits de ancho, entonces el resultado de `average(0x80000000U, 0x80000000U)` es cero.
|
Click para ver los comentarios