少数のあとのf – プログラミング – Home

通知
すべてクリア

[解決済] 少数のあとのf


bb
 bb
(@bb)
ゲスト
結合: 20年前
投稿: 18
Topic starter  

http://homepage3.nifty.com/ishidate/vcpp05_g3/vcpp05_g3.htm
を参考につくっているのですが、
0.3などの少数の場合、「f」を追加しているのが見受けられるのですが、
0.675のような少数の場合も、「f」を追加すればいいのでしょうか?
それとも、別の文字を追加するのでしょうか?
どなたか教えてください。


引用未解決
トピックタグ
芋
 芋
(@芋)
ゲスト
結合: 16年前
投稿: 6
 

第13章 データ型の修飾
13-4.定数の修飾
http://www9.plala.or.jp/sgwr-t/c/sec13.html

をご覧下さい。


返信引用
bun
 bun
(@bun)
ゲスト
結合: 24年前
投稿: 761
 

変数には型があります。
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にしてもそうはなりません。
見た目だけのものと言えそうです。


返信引用
bb
 bb
(@bb)
ゲスト
結合: 20年前
投稿: 18
Topic starter  

みなさん、ありがとうございました。
理解しました。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました