x86/x64における小数から整数への丸め処理命令の変遷
@ Cybozu Inside Out
4種類の丸め規則の図が分かりやすい。
以下は興味を引いた部分。
丸めモードの中に四捨五入はありません。 これはxが0以上なら0.5を足し、xが負なら0.5を引いて0へ丸めればよいからです。
RN, RD, RU, RZという略語表記が紹介されている。
以下は興味を引いた部分。
0への丸めは0に向かう方向に切り捨てます。doubleからintにキャストするときのルールはこれに相当します。
関連して思い出したのは以下のmm単位で丸める時に使う英語フレーズ。
Round XXX to the nearest millimeter.
Banker's roundingを思い出した。
http://wiki.c2.com/?BankersRounding
Banker's roundingを知ったのはRadium Software Developmentというサイトだった。サイトはもうないが、自分のブックマークメモ(2013/09/29)では以下を残している。
丸めを行った時にどうなるかの検討 / Round関数 / 銀行型丸め / banker's rounding