第1963話 ■デジタルの誤差

 コンピュータをはじめ、デジタル機器が2進法を採用していることについて。実はこの理由をきちんと説明できる人は少ないのではなかろうか?。その答は大きく2つある。1つ目は、構造が単純であるため、ノイズに強いこと。そしてもう1つは、構造が単純であるため、コストの面での優位性があること。複雑な仕組みにすることよりも、単純なことを繰り返すことが選択された。同様に、掛け算は足し算の繰り返しに置き換え、割り算は引き算の繰り返しに置き換える。それでも、機械での処理は人力の比較にならないほど速い。

 一方、コンピュータには数字を表す上での弱点がある。整数は大丈夫だが、分数や少数が苦手である。例えば、消費税率の8パーセント。「百分の」という時点で既に2進数にならない。キリ良くこれが10パーセントとなったとしても、10進数に慣れている人間には分かり易いが、2進数の世界では分かりにくい状態のまま。とりあえず、円未満の単位でどう処理するかを決めて、実際には「まるめて」しまって処理している。個々のレベルでは問題がなくとも、潜在的な誤差は含んだままである。これを「丸め誤差」と言う。この誤差をゼロにすることはできないが、処理する桁数を増やすことで、できるだけこの誤差を小さくすることはできる。レジスターの処理は結構面倒なのらしい。

 ある年配の方と話をしていたら(某落語の師匠との楽屋での会話)、「昔は電算機と言っていた、こんなでかくって」。そんな当時の最先端の電算機ですら、今のスマートフォンのスペックには遠く及ばない。けどね、こいつは分数や小数が苦手なんだ、ということを知っている。デジタルでも割り切れない、デジタルだから割り切れない。そんな弱点を知っている。もちろん、十分に許容できる程度の、言葉では表現できない程のお話。

(秀)