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
是floating point literal,它產生double
而不是float
。你需要一個f
後綴產生float
:
sizeof(124.5f)
將等於sizeof(f)
。在'我的意見'中,'這'很'容易'來'讀'。 '但是'別人'可能'不同意 – Michael
''''''''''''''''''''' –
在cout<<sizeof(124.50);
,124.50
不是float
。它floating point literal它有double
類型。除非指定後綴,否則所有浮點文字都是double
。
因爲124.50是雙精度 默認情況下,文字常量是雙精度,除非您將其定義爲float:124.3F。
打印4.
std::cout << sizeof(123.4F);
因爲'124.50'是一個'double'。 – WhozCraig
124.50是一個雙。試試124.50f。 – Michael
'sizeof(124.50f)'是你所追求的。 –