GNU bash, la versione 4.2.24:strano "mezzo per addirittura" arrotondamento in diverse lingue
$> printf "%.0f, %.0f\n" 48.5 49.5
48, 50
di 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, versione 7.0.4:
> printf "%.0f, %.0f\n" 48.5 49.5
49, 50
Wikipedia dice che questo tipo di arrotondamento è chiamato round half to even:
Questa è la modalità predefinita utilizzata in IEEE 754 funzioni di calcolo e gli operatori di arrotondamento .
Perché questo arrotondamento viene utilizzato di default in C, Perl, Ruby e bash, ma non in Haskell?
È una sorta di tradizione o standard? E se è uno standard, perché è usato da quelle lingue e non usato da Haskell? Qual è un punto di arrotondamento a metà persino?
Penso che tu abbia appena risposto alla tua stessa domanda. Fa parte dello standard IEEE 754. –
@Keith Irwin, credo che volesse sapere quale standard. Perché non lo pubblichi come risposta, eventualmente con un link pertinente? – ikegami
Dmitry: la tua domanda menziona specificamente "IEEE 754". Questo è lo standard. – Gabe