float f=124.50;
cout<<sizeof(f);
cout<<sizeof(124.50);
両方のステートメントは異なる結果をもたらします。しかし、intとcharで動作します。浮動小数点の違いは何ですか?sizeof演算子は浮動小数点のために様々な結果を与えます
float f=124.50;
cout<<sizeof(f);
cout<<sizeof(124.50);
両方のステートメントは異なる結果をもたらします。しかし、intとcharで動作します。浮動小数点の違いは何ですか?sizeof演算子は浮動小数点のために様々な結果を与えます
124.50
は、ではなく、double
を生成するfloating point literalです。あなたはfloat
を生成するf
サフィックスを必要とする:
sizeof(124.5f)
はsizeof(f)
に等しくなります。これは 'my'の意見では'読む 'にかなり簡単です。 'しかし'他の人は 'かもしれない'と同意しない – Michael
'' '' '' 'd'' '' '' '' '' n'''' –
cout<<sizeof(124.50);
,124.50
はfloat
ではない。 floating point literalであり、タイプはdouble
です。接尾辞を指定しない限り、浮動小数点リテラルはすべてdouble
です。
124.50がdoubleであるため デフォルトでは、float:124.3Fと定義しない限り、リテラル定数はdoubleです。
プリント4.
std::cout << sizeof(123.4F);
'124.50'は' double'ですので。 – WhozCraig
124.50はダブルです。 124.50fを試してください。 – Michael
'sizeof(124.50f)'はあなたの後です。 –