みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

電卓の時間計算が変?

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

投稿日時 - 2017-03-14 16:03:17

QNo.9305002

暇なときに回答ください

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

電卓は、時間を数字に変換してから計算します。
1時間は1です。
1分は0.016666666
1秒は0.000277777
になります。動画を拝見すると、電卓は10桁なので、それ以下は切りてられます。
6秒は0.001666666 となり、これを60倍すると、0.09999996になります。
切り捨てによる誤差です。

18秒は0.005 なので、正確に計算できます。

どうしても時間計算が必要で、これでは困るというのなら、関数電卓を買うしかありません。(関数電卓なら、結果を四捨五入してくれます。たいてい時間計算機能も付いています)

もし、この後計算が続くのなら、ほぼ0.1 なので、0.1 と手て入れて計算をつつけるのがいいと思います。

投稿日時 - 2017-03-14 16:35:08

お礼

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

投稿日時 - 2017-03-14 22:59:55

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.3

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

投稿日時 - 2017-03-14 16:42:59

お礼

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

投稿日時 - 2017-03-14 23:00:21

ANo.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」になってしまいます。

貴方の電卓の時間計算では、これと同じ事が起きています。

投稿日時 - 2017-03-14 16:34:04

お礼

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

投稿日時 - 2017-03-14 22:58:58

あなたにオススメの質問