• ベストアンサー

電卓の時間計算が変?

自分が持っている電卓「MW-102CL」では時間計算ができる機能を持っています。 分換算するとき「hh:mm:ss×60」とするのですが、普通6秒=0.1分だと思いますがこの電卓は 18秒(0.3分),36秒(0.6分),54秒(0.9分)以外はなぜか変な時間になってしまいます(キレイではありませんが動画あり)。 これはなぜなのですか。それともそうゆうものなのですか。

質問者が選んだベストアンサー

  • ベストアンサー
  • SI299792
  • ベストアンサー率47% (772/1616)
回答No.2

電卓は、時間を数字に変換してから計算します。 1時間は1です。 1分は0.016666666 1秒は0.000277777 になります。動画を拝見すると、電卓は10桁なので、それ以下は切りてられます。 6秒は0.001666666 となり、これを60倍すると、0.09999996になります。 切り捨てによる誤差です。 18秒は0.005 なので、正確に計算できます。 どうしても時間計算が必要で、これでは困るというのなら、関数電卓を買うしかありません。(関数電卓なら、結果を四捨五入してくれます。たいてい時間計算機能も付いています) もし、この後計算が続くのなら、ほぼ0.1 なので、0.1 と手て入れて計算をつつけるのがいいと思います。

h1409brt
質問者

お礼

回答ありがとうございました。

その他の回答 (2)

  • f272
  • ベストアンサー率46% (8467/18126)
回答No.3

浮動小数の誤差が出ているだけですね。そういうものです。 例えば0-0-24 * 60 = 0.39999996になっているようですが,24秒*60=24分とだいたい同じです。0.39999996時間=0.4時間=24分ですから。

h1409brt
質問者

お礼

回答ありがとうございました。

回答No.1

>これはなぜなのですか。 小数点演算を行なう上での誤差です。 >それともそうゆうものなのですか。 「そういうもの」としか言いようがありません。 「×60」とやって「分が出る」のであれば、この電卓は「1分を1」として内部計算しているのでしょう。 ですので「18秒」は「18分の60」つまり「0.3」と計算しています。同様に、36秒は0.6、54秒は0.9として計算しています。 ですが「10秒」は「10分の60」つまり「0.166666…」と計算しています。電卓が計算可能な「最大桁数」を超えた部分は「丸め」が起こります。 つまり「0.166666…」は、どこかの桁で四捨五入されて「0.1666(中略)667」になっています。 この「最後の桁が四捨五入されている数値」に「60を掛け算」すると「最後の桁が四捨五入されている数値の60倍だけ狂う」事になります。 電卓で「1÷3×3=」を計算すると「1」になりますよね? でも「1÷3は0.333333333333だから」と言って「0.333333333333×3=」とやっても「1」にはならず「0.999999999999」になってしまいます。 貴方の電卓の時間計算では、これと同じ事が起きています。

h1409brt
質問者

お礼

回答ありがとうございました。