double型の誤差



◇-?double型の誤差-貴方のニックネーム(2005/04/14-22:03)No.253638
 ┗?!Re:double型の誤差...-tetsu(2005/04/15-09:11)No.253712

▲このページのトップに戻る
253638double型の誤差貴方のニックネーム URL2005/04/14-22:03

http://linux.pasokoma.jp/4_lg25422.html からの引き続きの質問
(似た現象に陥っており質問をする場合も含みます)

double d1 = 1.0d;
double d2 = 2.0d;
として
(d1/d2)を表示させようとすると0.5ではなく0.50000000001とかなることはよくありますね
これも桁あふれでしょうか?
日常的な感覚では「小数第一位を含めて2桁で済むのでは?」と思ってしまいます。
理由が分かりません。どなたか分かる方いらっしゃいませんか?

▲このページのトップに戻る
253712Re:double型の誤差tetsu 2005/04/15-09:11

記事番号253638へのコメント
>(d1/d2)を表示させようとすると0.5ではなく0.50000000001とかなることはよくありますね
>これも桁あふれでしょうか?

これはコンピュータが10進数でなくて 2進数で計算しているための誤差です。
対策としては表示桁数を8桁とかに指定することです。
10進数で計算できるソフトの場合はこのようなことは起こりません。
例として10進BASIC(フリーソフト)などは、どんな場合でも正確に計算できます。

A1.本ページは参考になりましたか? 又はアドバイスがありますか?
解決 参考になった 参考にならなかった アドバイスする

A2.何度目の訪問ですか?
初めて来た   数度目(2〜4) 5回以上来ている   管理人:

A3.何か一言どうぞ(アドレスは書くことができません)

A4.アドレスがあればどうぞ(1つまで)


↑↑↑↑よろしければ押してください↑↑↑↑

何か一言(本ページで参考になったならないを含めて残してあります)
◎:解決 ○:参考になった ×:参考にならなかった !:アドバイスあり

参考回数投稿日時何か一言