logo

logo

メールマガジン・新着情報一覧

  1. TOP
  2. メールマガジン・新着情報一覧
  3. A-0123. 四捨五入は常識? –T.T

2021.05.26

A-0123. 四捨五入は常識? –T.T

◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇

四捨五入は常識?

発行:エスオーエル株式会社
https://www.sol-j.co.jp/

連載「X線CTで高精度寸法測定!?」
2021年5月26日号 VOL.123

平素は格別のお引き立てを賜り、厚く御礼申し上げます。
X線CTスキャンによる精密測定やアプリケーション開発情報などをテーマに、
無料にてメールマガジンを配信いたしております。

◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇



「四捨五入」について、今まさに業務で直面しているので、
メールマガジンの記事に丁度良いかと考え、
「四捨五入は常識?」というタイトルで書き始めました。

しかしここで、「常識」とは何かについて
考え始めることになってしまいました。

まずは、言葉の定義を明確にすべく、
広辞苑を引こうとしましたが、
いや待て、言葉の定義を調べるのに広辞苑を引くのは
常識なのだろうか、と考えてしまい、留まりました。

そもそも、定義とは何か?
「定義」という言葉を常識的に使っていますが、
定義の定義は未解決問題です!

そのような訳で、
常識の定義を明確にしたところで、
定義を明確にするという行為が常識に基づいているので、
不毛です。

この不毛とも思える事案に立ち向かうのが哲学だとすると、

不毛な議論はひとまず置いておいて、
ある一定の多くの人が認める土台(常識)から出発して、
多くの人が反論できないロジック(これも常識)を繋いで、
何らかの成果を得るのが、科学技術でしょうか。

常識が覆るのも科学技術の成果ですが、
出発点とロジックが常識として認められなければ、
成果になりません。

常識という単語を無定義のまま使うと、
延々とこのような言葉遊びを続けられてしまうので、
この辺で、書こうと思っていた本題に移ります。


さて、小数点以下の数字がゼロではない実数を
整数にする必要性は至る所で生じます。

測定機は数値化する装置ですが、
本当の意味で実数を扱うことはできません。
小数点以下のどこかで、打ち切られています。

このように打ち切られた数字を表現する手段を
「端数処理」あるいは「丸め」と言います。

端数処理の典型は、
「切り捨て」「切り上げ」「四捨五入」
が常識だと思います。

特に、公平な処理は「四捨五入」が常識だと思います。

大体、常識を語るときは自分の尺度で考えてしまうので、
端数処理の常識がどこまで通用するのか分かりません。

四捨五入を使わない人たちにとって、
四捨五入が公平ではないことは常識なのだと思います。

ちょっと考えてみると、
1~9 までの数字があって、その中央が 5 ですから、
1~4 までのときに切り捨てて 0 にし、
6~9 までのときに切り上げて 0 にするところまでが均等で、
5 を常に切り上げる四捨五入は、公平ではなく、少し多いのです。

丸めた数値を足していったときに誤差の累積を少なくしたい、
あるいは、丸めた数値が確率的に偏りを持たないようにしたい
と思ったときは、「最近接偶数への丸め」を使うのが常識のようです。

この丸め方には、いくつもの別名があり、それだけ有名なようです。
例えば、「銀行丸め」と呼ばれます。

C# でプログラムを書くと、標準的な丸めは、
この 偶数への丸め(銀行丸め)が使われます。
C# で、四捨五入にするには、少し多めにコードを書くことになります。

プログラムを書くときは、その処理系の常識があります。

そもそも、十進法の実数を常識だと思っている人々の常識は、
二進法をベースにした有限な数値を扱うコンピュータの世界では
通用しないことがたくさんあります。

常識的に考えると、
このような科学技術で使う定義やルールは、
原理からスマートに明文化されていくように思えてしまいますし、

実際、IEEE や ISO や JIS や SEMI といった規格は、
定義から理路整然と明文化されているように見えます。

しかし、このような規格は、
何年も多くの労力を掛けて作成された努力の結晶なのです。

有益な常識を作るのは、とても大変な作業で、
規格文章は知れば知る程、敬意と感謝を抱かずにはいられません。

ちょっと考えれば分かる常識的なことも、
ちょっと考えるだけで手が届く距離の土台(常識)の上に立っていることと
ちょっと考えることができる常識的な思考力が刷り込まれてきた結果なので、
有益な常識は、そう簡単には手に入らないものなのかもしれません。


四捨五入のコンピュータ処理をきっかけに、
膨大な興味と思索の大海原に飛び込むことになったので、
「常識」をキーワードに、文章にアウトプットしてみました。

  ここまで書き終えて読み返してみると、
  危うく、「最近接偶数への丸め」の定義を書き忘れるところでした。
  5 のときに「切り捨てと切り上げのうち結果が偶数となる方へ丸める」
  というのがその定義です。

  でも、正確な定義ではないので、定義は規格をご確認下さい。
  定義を暗記するよりも、一度計算できるようになれば、
  忘れるのが難しい常識となり、多少不正確な定義を読んでも、
  その概念を指す記述だと分かるようになります。

  誰が読んでも非の打ちどころがない定義を書くのはなかなか大変です。


--
高野智暢

一覧に戻る

お問い合わせ Contact

048-441-1133

お問合せフォーム