スレを勃てるまでもないC/C++の質問はここで 3
■ このスレッドは過去ログ倉庫に格納されています
0227デフォルトの名無しさん
2007/09/26(水) 17:00:31cout.precision(17);
cout << .8F + .1F << endl; //Line a
cout << .8 + .1 << endl; //Line b
これを実行すると
0.90000003576278687
0.90000000000000002
と表示されるのですが0.900000000・・・とならないのは
Line aのほうはfloat型、Line bのほうはdouble型でメモリ上に確保されていて
確保していない領域まで表示してしまった結果と考えてよいのでしょうか?
まったく見当違いなことを言っていましたら、どなたかなぜ0.9000・・・・とならないのかご指導お願いできますか?
よろしくお願いします
■ このスレッドは過去ログ倉庫に格納されています