http://homepage3.nifty.com/ishidate/vcpp05_g3/vcpp05_g3.htm
を参考につくっているのですが、
0.3などの少数の場合、「f」を追加しているのが見受けられるのですが、
0.675のような少数の場合も、「f」を追加すればいいのでしょうか?
それとも、別の文字を追加するのでしょうか?
どなたか教えてください。
変数には型があります。
float 単精度浮動小数点型
double 倍精度浮動小数点型
同じように、定数にも型があるのです。
1.23f 単精度浮動小数点型
1.23e0 倍精度浮動小数点型
f指定は 単精度浮動小数点型, e指定は 倍精度浮動小数点型となります。
また、1.23のように指定を省略した場合は倍精度浮動小数点型となります。
以下のようコードを記述し、
double d = 1.00000000000001;
double f = 1.00000000000001f;
デバッガで d, f の値を見ると、分かりやすいかと思います。
fの方は桁落ちして、1.0000000000000000 になります。
まあ、
float f = 1.0;
としても、自動的にfloatにキャストされて代入されますので、通常は意識しなく
ても問題ありません。
定数においても型を厳密に意識したコードを書きたい場合に指定してください。
補足:
double f = 1.00000000000001f;
で、コンパイラが桁落ちワーニングとかを吐くなら、私的にも厳密に書きたい
ところですが、警告レベルを4にしてもそうはなりません。
見た目だけのものと言えそうです。
みなさん、ありがとうございました。
理解しました。