2017-05-04 3 views
-3
float f=124.50; 
cout<<sizeof(f); 
cout<<sizeof(124.50); 

両方のステートメントは異なる結果をもたらします。しかし、intとcharで動作します。浮動小数点の違いは何ですか?sizeof演算子は浮動小数点のために様々な結果を与えます

+7

'124.50'は' double'ですので。 – WhozCraig

+0

124.50はダブルです。 124.50fを試してください。 – Michael

+0

'sizeof(124.50f)'はあなたの後です。 –

答えて

2

124.50は、ではなく、doubleを生成するfloating point literalです。あなたはfloatを生成するfサフィックスを必要とする:

  • sizeof(124.5f)sizeof(f)に等しくなります。
+0

これは 'my'の意見では'読む 'にかなり簡単です。 'しかし'他の人は 'かもしれない'と同意しない – Michael

+2

'' '' '' 'd'' '' '' '' '' n'''' –

0

cout<<sizeof(124.50);,124.50floatではない。 floating point literalであり、タイプはdoubleです。接尾辞を指定しない限り、浮動小数点リテラルはすべてdoubleです。

0

124.50がdoubleであるため デフォルトでは、float:124.3Fと定義しない限り、リテラル定数はdoubleです。

プリント4.

std::cout << sizeof(123.4F); 
関連する問題