1. ホーム
  2. c

[解決済み】sizeof float (3.0) vs (3.0f)

2022-02-08 09:45:18

質問

sizeof(3.0) と sizeof(3.0f) の違いを教えてください。

どちらも同じ結果(sizeof float)になると思っていたのですが、違いますね。

32ビットマシン、gccコンパイラの場合。 サイズオブ(3.0f) =>4 サイズオブ(3.0) => 8

なぜでしょうか?

どのように解決するのか?

3.0はダブルだから。参照 C言語構文 浮動小数点型 .

浮動小数点数定数は のように10進数で表記します。 1.23. 科学的記数法では,e または E の後に10進数の 1.23e2(指数)のようになります。 の値は123)。小数点または 指数が必要です(それ以外の場合。 は整数の定数となります。) C99では16進数 浮動小数点数定数は 同様のルールですが の前に0xを付け、pで指定します。 16進数の指数を使用します。10進数、16進数ともに 16進浮動小数点数定数 を示すために、サフィックスとしてfまたはFを付けることができます。 浮動小数点数型定数はlまたはLで表します。 または、Long Double 型を示す。 double定数の場合は、接尾辞なし。