4540 四捨五入 はくぶん 2013-09-23 23:20:43
四捨五入とは、求めたい桁のすぐ下の位の数字が4以下なら切り捨て、
5以上なら切り上げる、という計算方法である。
学校でもそう習うし、実際にもそう計算する。

普通はそういう風に場合分けをする。

しかし、プログラムの世界では四捨五入は場合分けをしない。
プログラムの関数にint関数というものがある。
int(X)でXの整数部分を取り出す(小数部分を切り捨てる)働きをする。
このint関数を使うだけで、どんな四捨五入も出来てしまうのである。

整数部分と小数部分からなる正の数字Aを四捨五入して小数第2位まで求めなさい。

肝心の小数第3位がどんな数字だか分からないから、場合分けができない。
だから当然四捨五入など出来るはずがない。

いいえ、小数第3位の数字など分からなくていいのです。

実際のプログラムでは、そこがどんな数字かなど、分からない場合がほとんどだ。
言い換えれば、そこにどんな数字が来ようと四捨五入しなければならないのである。

プログラムをやっている人間なら誰でも知っている極めて単純な式なのだが、
一体どんな人間が、この計算式を思い付いたのだと、今でも見る度に感心する。
自分ならきっと一生かかっても、絶対こんな式は思い付かないだろう。

int(A × 100 + 0.5) ÷ 100

いつ見てもブラボー過ぎるぜ!
メッセージ文字数:546/573