
先日、気付きました
7.84-8.19=-0.349999999999999999
デフォルト設定でも再現致します
また、下記は問題ありませんし
自力では原因を切り分け出来ずにおります
7.84-8.18=-0.34
7.84-8.20=-0.36
いったい、どのようにして
このような違いが出るのかが不思議でたまりません
正直、電卓ソフトで計算ミスは致命的かとも思いますが
数年使ってきて初めてですし
正直、困惑しております
作者様への要望も考えましたが
開発&サポート終了との事ですので、まずはこちらへの質問の運びとなりました
http://hatenachips.blog34.fc2.com/blog-entry-10. …
原因や自力での対処法等が知りたいです
お詳しい方、おりましたら
なにとぞ、よろしくお願い致します
Win7 32、64
No.1ベストアンサー
- 回答日時:
>正直、電卓ソフトで計算ミスは致命的かとも思いますが
>数年使ってきて初めてですし
>正直、困惑しております
小数点使っているものだと、誤差が出る場合があります。
「単精度浮動小数点数」辺りで検索して見て下さい。
ということで…
VC++2010Expressで下記のようなコードを記述&実行してみました。
#include "stdafx.h"
int _tmain(int argc, _TCHAR* argv[])
{
float a1 = 7.84;
float b1 = 8.19;
double a2 = 7.84;
double b2 = 8.19;
printf("a1 - b1 = %f\n", a1-b1);
printf("a2 - b2 = %f\n", a2-b2);
return 0;
}
a1 - b1 = -0.349999
a2 - b2 = -0.350000
という表示結果になります。
「浮動小数点 誤差」辺りで検索して下さい。
double型の場合は誤差が出るまでの制度が変わります。
>原因や自力での対処法等が知りたいです
面倒ですが、他のソフトを探す…ということになるかと。
ソースコードが公開されている。とかであれば、自分のところで修正して…ということも可能でしょうが、
作者が修正していない。ということはビルド環境がない。といいう可能性もあります。
例えばVisual C++6.0で作っていたものだった…という場合は、最新OSは既にサポート外です。
# 一応、動かそうと思えば動くでしょうが、Microsoftがサポート外と言っている状態でなんか問題が発生した場合に面倒事に巻き込まれることも無いとは言い切れません。
新しいビルド環境にコンバートも可能ではありますが、いろいろと調整が必要になる場合もありますので、その手間なども含めて未サポートになっている可能性もあります。
貴重なお時間を割いて頂き感謝致します
幾つかのソフトを試しましたが
確かに二通りの答えに別れました
Wr5様のご回答には、とても安心感があり
内容自体はとても、私には難しいのですが
なんとなく、理解出来た位の感覚になってしまっておりますw
Wr5様のように博学になれたら
なんて、妄想してしまいます
どうもありがとうございました!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(ソフトウェア) F-BASICで計算中の実行が中途で勝手に止まり、大変困っています。 2 2023/03/02 16:15
- エアコン・クーラー・冷暖房機 エアコン初期不良の対応について 4 2022/08/04 19:37
- 中古パソコン PCの充電量が数%から変化がない原因を教えてください。 3 2022/06/24 17:14
- gooのスマホ lineの着信画面ならず「不在着信」になる 1 2022/07/07 12:31
- ガラケー・PHS SMSメールの受信遅延原因はガラケー自体の欠陥では 8 2022/08/06 11:46
- UNIX・Linux Ubuntu on Xorgのログインについて 2 2023/08/10 15:16
- 政治 自公統一創価カルト政権は原発再稼働で再び原発事故を起こして日本を崩壊させたいんですかね 1 2022/07/16 22:10
- 政治 新たな原発の建設を認めるなら、フランスのように原発は全て国有化するべきですね? 13 2022/09/04 06:14
- デスクトップパソコン 「自動修復でPCを修復できませんでした」と表示されPCが起動しないのですが対処法はありますか? 5 2022/05/13 09:16
- ビデオカード・サウンドカード パソコンの音量について 1 2023/07/02 00:04
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
同時分布関数について。 Pr{a1...
-
エクセルで1と入力すると〇倍 2...
-
統計の問題。わかる方いますか?
-
EXCELで2つの数値のうち大きい...
-
エクセルで二つの数字の小さい...
-
Excelで隣のセルと同じ内容に列...
-
PowerPointで表の1つの列だけ...
-
エクセルで、2種類のデータを...
-
Excelで半角の文字を含むセルを...
-
エクセルで特定の文字が入って...
-
エクセルでオートフィルタのボ...
-
EXCELで 一桁の数値を二桁に
-
SUMIFとCOUNTIFを合わせたよう...
-
2つのエクセルのデータを同じよ...
-
エクセル(勝手に太字になる)
-
Excel、市から登録している住所...
-
エクセルで最初のスペースまで...
-
エクセル 同じ値を探して隣の...
-
エクセルで時刻(8:00~20:00)...
-
エクセルのオートフィルタで最...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
5元連立方程式を解きたい
-
エクセルで1と入力すると〇倍 2...
-
エクセルのVBA 条件分岐を...
-
なんでa₁b₁を分けて考えないと...
-
EXCELの関数の書き方
-
【VBA】 このコードを最適化し...
-
エクセルVBAでセルのコピー
-
Maximaで非可換代数計算を行う方法
-
ベクトルの内積を考えるとき、θ...
-
EXCELでの日付の表示で、
-
箱桁の重心位置の公式
-
IIRフィルタについて
-
これどうやって解くのですか?...
-
vlookup関数でエラー表示を空白...
-
論理関数、IFとANDを組み...
-
数II・Bの数列の問題です a1+a3+...
-
このhを求めたい場合、エクセル...
-
Σa[n]/Σb[n]に関する不等式
-
EXCELで2つの数値のうち大きい...
-
エクセルで二つの数字の小さい...
おすすめ情報