- 486 名前:デフォルトの名無しさん mailto:sage [2012/08/21(火) 02:15:47.04 ]
- [1] プログラミング言語
[3] 環境 [3.1] OS: Windows7 [3.2] コンパイラ名とバージョン: Visual Studio2010 ) [3.3] 言語: C++ int main(void){ double d2, s2; int i; s2 = 0.0; d2 = 1.0/10000000.0; for(i = 0; i < 10000000; i++){ s2 = s2 + d2; } printf("%f\n",s2); printf("%17.14f\n",s2); return 0; } 上記のプログラムを実行すると,コマンドプロンプトには 1.000000 0.999999999750170 と出力される. どちらも同じs2を出力しているのにもかかわらず, 表示させる桁数を変えるだけで出力内容が変わる理由, および,2行目の方で計算結果が 1.000000000000000 とならない理由を述べよ.
|

|