ささかのブログ

雑多な思考整理のためにブログを活用中。
自分が生きやすくなればいいと思うけれど、教祖になるつもりはない。

電卓の計算精度の確認方法

2017-12-23 22:19:55 | Technics
電卓には可愛そうだけど、電卓の計算精度を知る方法を、工業高校のときにIBM出身の先生から聞いた。

以下の1.11…は、電卓で入力できる最大桁数入力する。例では10桁。

1.111111111*1.111111111=

あるいは、

1.111111111*=

(注:*は、×掛けるの情報処理的表記)
すると答えは、

1.234567890

となるはずである。
16桁なら、

1.234567890123456

となる。

1〜9の整数が並び、それが終わると、0から1234と整数が繰り返される。


どうしてそうなるのかは、各々で解き明かしていただきたいが、これが安い計算機を使うと、特に最後の桁が、ちゃんと順に数字が並ばなくなる。

電卓もコンピュータの一種なので、内部処理は2進数の01信号で処理しています。

知っている人は知っているのですが、2進数による小数点以下計算は、かなり大変なのです。

浮動小数点演算という方法があり、1.1111E0(算術的には1.1111×10^0と表記したりする)と、10の何乗かを掛けて、小数点の位置をずらして計算する方法がありますが、この場合、10の0乗(すなわち1)しか掛けられない。
ちなみに浮動小数点演算速度(FLOPS)は、スーパーコンピュータの演算速度の指標に用いられたりします。

つい先日、家電量販店で電卓を購入する予定があり、いつもの癖でこの、

1.111111111*1.111111111=

を打ち込みましたが、いろんな結果が表示されて興味深かったです。

あなたのAndroidもしくはiPhoneはいかが?


追記
10桁目で繰り上がり計算が発生するので、連続性がズレます。計算機のエラーではありません。

1.23456790123456...
というように、8が消えます。
その次の9が10になるためです。
スマホなどの逐次計算ではその様子がわかります。
コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« 女性性 | トップ | 大切にされ感 »
最新の画像もっと見る

コメントを投稿

ブログ作成者から承認されるまでコメントは反映されません。

Technics」カテゴリの最新記事