マカロニペンギンの健忘録

特にテーマを決めているわけじゃないが、私が気になったことを書いていく予定です。

表計算ソフトの誤差について

2010年10月30日 | Weblog
いままで、表計算ソフトは誰に教わることもなく独学でやってきました。
日頃、表計算ソフトは見積書作成などで使用していますが整数しか扱ったことがありませんでした。小数点以下の計算はめったにしたことはありませんでした。

今回、Arduinoのサーミスタのサンプリング値→電圧→抵抗値→温度を計算するにあたり指数・対数計算が必要なのでOpenOfficeのCalcのお世話になりました。

ふと、計算結果をArduinoのIDEにコピーする前段階でテキストエディタに張り付けたとき想定していなかった数字が貼り付けられたことにビックリしました。
どこかの計算ミスかと思い、改めて計算を見直してみましたがそんなことはありません。

簡単に再現する方法があります。
A1セルに「0」を入力します。
A2セルに「=A1+0.1」を入力します。
A2セルをコピーしてA3からA62に貼り付けします。
A62セルをコピーしてどこか別のセルに「形式を選択して貼り付け」で値のみを貼り付けます。
すると「6.1」ではなく「6.0999999」が表示されてしまうのです。

OpenOfficeのコミュニティーフォーラムに質問したところ、「誤差」だそうです。
試しにMS社の97年度版の表計算ソフトで同じことをしたところ、似たような結果になりました。

コミュニティーフォーラムで教えてもらった日経PC21のホームページにもMS社のソフト上でこの誤差の説明をしてありました。
独学の弊害ですね。加藤茶のパソコン教室などに行けばきっと教えているかもしれない常識的なことを知らないなんて・・・・
もし、こんな知識で人が乗った宇宙船の軌道計算をしていたらとんでもないことになっていたでしょう。(私がそんなことをすることには絶対にありませんが)

ホント、日々勉強です。
OpenOfficeコミュニティーフォーラムのみなさん、ありがとうございました。

ただ、未だに納得はしていませんよ。
こんなことを気にしなくってもきちんとした値がでる表計算ソフトを作ってほしいと切に要望します。

最新の画像もっと見る

3 コメント

コメント日が  古い順  |   新しい順
誤差 (すすこべ)
2010-10-31 13:25:18
必要になる桁数で丸めて使います。
一旦二進数に戻しま(略
返信する
びっくり (マイ蔵)
2010-11-03 01:17:17
いやー勉強になった。
会社で自慢します(*^_^*)
返信する
コメントありがとうございます。 (マカロニペンギン)
2010-11-04 06:36:23
表計算ソフトは何でもできるように感じていますが、実際のところ向き不向きがあるということでしょうね。
返信する

コメントを投稿