msms1003 Advent Calendar 2016 の8日目の記事です。
早速ですが、0.5を小数点第1位で切り上げてみましょう。
切り上げとは、1.1も1.2も1.9も2にするような操作です。小学校でやることですね。0.5の場合は1になります。
さて、-0.5を小数点第1位で切り上げしましょう。
・・・
悩みます。
ここで、-0.5の丸め方については、可能性が2つ考えられます。
1つは、「0.5を切り上げた値は全て0.5より大きくなる」と捉え、-0.5の切り上げを0とする可能性。
もう1つは、「0.5を切り上げた値は全て(数直線上で)0から遠くなる」と捉え、-0.5の切り上げを1とする可能性です。
この場合、どちらの捉え方もありますので、実はこれといった統一基準が存在しないのです。
対して、四捨五入の場合はどうなるでしょうか。
-0.5を小数点第1位で四捨五入する場合、文字通りいけば-0.4以上は0に、-0.5以下は1になりそうなので、-0.5は1になりそうな気がします。
ただ、正の数の四捨五入では正の方向に大きくしたことから、負の数のときも正の方向に大きくするなんて可能性もあり、この場合は-0.5は0になりそうな気がします。
まーたよく分からなくなってきました。
さて、切り捨てについてはあんまり統一基準がないという話をしましたが、四捨五入については日本工業規格、いわゆるJIS規格が存在するそうです。
(https://digitalgatez.net/archives/1601 参照)
JIS規格によると、規則Aと規則Bが存在して、これまた正解がないというアレです。
ただ、規則Bの一部が四捨五入であるであると説明があり、そこでは負の数は絶対値を用いるとされています。
したがって、-0.5の場合は0.5を四捨五入するのと同じく扱うということですね
そうなると、-0.5 = -|-0.5| = -1 ということになりますね。
これで悩みが解決されました、-0.5を四捨五入すると1になりますよ。
ということで、今回は負の数の四捨五入を行いました。
小学校で習うような計算しても、少し値を変えるとここまでわからなくなる事があるんですね。
こういうふと考えてしまう計算、ぱっと思いつきませんが沢山ありそうですね。ぜひ探してみてください。
0 件のコメント:
コメントを投稿