fiesta de GNU, versión 4.2.24:extraño "a la mitad, incluso" redondeo en diferentes idiomas
$> printf "%.0f, %.0f\n" 48.5 49.5
48, 50
de Ruby 1.8.7
> printf("%.0f, %.0f\n", 48.5, 49.5)
48, 50
Perl 5.12.4
$> perl -e 'printf("%.0f, %.0f\n", 48.5, 49.5)'
48, 50
gcc 4.5.3:
> printf("%.0f, %.0f\n", 48.5, 49.5);
48, 50
GHC, versión 7.0.4:
> printf "%.0f, %.0f\n" 48.5 49.5
49, 50
Wikipedia dice que este tipo de redondeo se llama round half to even:
Este es el modo por defecto utilizado en el estándar IEEE 754 funciones de computación y los operadores de redondeo .
¿Por qué este redondeo se usa por defecto en C, Perl, Ruby y bash, pero no en Haskell?
¿Es algún tipo de tradición o estándar? Y si es un estándar, ¿por qué es utilizado por esos idiomas y no lo usa Haskell? ¿Cuál es el punto de redondear la mitad a par?
Creo que acabas de responder a tu propia pregunta. Es parte del estándar IEEE 754. –
@Keith Irwin, creo que él quería saber qué estándar. ¿Por qué no publica eso como respuesta, con suerte con un enlace relevante? – ikegami
Dmitry: Su pregunta menciona específicamente "IEEE 754". Ese es el estándar. – Gabe