- ベストアンサー
電卓の時間計算が変?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
電卓は、時間を数字に変換してから計算します。 1時間は1です。 1分は0.016666666 1秒は0.000277777 になります。動画を拝見すると、電卓は10桁なので、それ以下は切りてられます。 6秒は0.001666666 となり、これを60倍すると、0.09999996になります。 切り捨てによる誤差です。 18秒は0.005 なので、正確に計算できます。 どうしても時間計算が必要で、これでは困るというのなら、関数電卓を買うしかありません。(関数電卓なら、結果を四捨五入してくれます。たいてい時間計算機能も付いています) もし、この後計算が続くのなら、ほぼ0.1 なので、0.1 と手て入れて計算をつつけるのがいいと思います。
その他の回答 (2)
- f272
- ベストアンサー率46% (8467/18126)
浮動小数の誤差が出ているだけですね。そういうものです。 例えば0-0-24 * 60 = 0.39999996になっているようですが,24秒*60=24分とだいたい同じです。0.39999996時間=0.4時間=24分ですから。
お礼
回答ありがとうございました。
- chie65536(@chie65535)
- ベストアンサー率44% (8740/19838)
>これはなぜなのですか。 小数点演算を行なう上での誤差です。 >それともそうゆうものなのですか。 「そういうもの」としか言いようがありません。 「×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」になってしまいます。 貴方の電卓の時間計算では、これと同じ事が起きています。
お礼
回答ありがとうございました。
お礼
回答ありがとうございました。