y=round(x) 四捨五入 y=round(x) のグラフ
y=round(x) は x に最も近い整数へ丸める関数で、日本語の四捨五入にあたります1。小数部分が 0.5 未満なら切り捨て、0.5 より大きければ切り上げます。
| x | round(x) |
|---|
| 2.3 | 2 |
| 2.6 | 3 |
| −1.2 | −1 |
| −1.6 | −2 |
定義域と値域
定義域はすべての実数で、値域は整数全体です。グラフは幅 1 の水平な線分が並ぶ階段状で、各段は整数を中心とした区間の上にあります。
| 区間 | 値 |
|---|
| −0.5<x<0.5 | 0 |
| 0.5<x<1.5 | 1 |
| 1.5<x<2.5 | 2 |
床関数や天井関数では段の切れ目が整数にありましたが、四捨五入では半整数にあります。段が整数を中心に置かれるぶん、丸めの誤差が最も小さくなります。
不連続点と丸めの規約
ちょうど中間の値である半整数 x=n+0.5 で不連続になり、値が 1 跳ね上がります。この中間の点をどちらへ丸めるかは規約によって決まります。
| 規約 | round(0.5) | round(1.5) | round(2.5) |
|---|
| 0.5 を切り上げ | 1 | 2 | 3 |
| 偶数丸め(銀行丸め) | 0 | 2 | 2 |
統計や会計では、切り上げに偏るのを避けるために偶数丸めがよく使われます。負の数や中間値の扱いは実装によって異なるので、確かめてから使うのが安全です。
対称性
半整数を除けば round(−x)=−round(x) が成り立ち、原点に関しておおむね点対称です。中間の点だけは、丸めの規約しだいで対称性が崩れることがあります。
他の関数との関係
0.5 を切り上げる方式では、床関数を使って次のように書けます。
round(x)=⌊x+0.5⌋ つまり四捨五入は床関数・天井関数の兄弟のような関数で、⌊x⌋ と ⌈x⌉ のうち x に近いほうを選ぶことに相当します。
| x | ⌊x⌋ | ⌈x⌉ | round(x) |
|---|
| 2.3 | 2 | 3 | 2 |
| 2.7 | 2 | 3 | 3 |
| −1.2 | −2 | −1 | −1 |
応用
連続した値を扱いやすい整数へ丸める場面で広く使われます。
- Rounding、Wikipedia