kum*_*mar 11 c sizeof
sizeof(3.0)和sizeof(3.0f)有什么区别
我期待他们两个给出相同的结果(sizeof float)..但它的不同.
在32位机器中,gcc编译器,sizeof(3.0f)=> 4 sizeof(3.0)=> 8
为什么这样?
Eug*_*ota 24
因为3.0是双倍的.请参阅C语法浮点类型.
浮点常量可以用十进制表示法编写,例如1.23.科学记数法可以通过添加e或E后跟小数指数来使用,例如1.23e2(其值为123).需要小数点或指数(否则,数字是整数常量).C99引入了十六进制浮点常量,它遵循类似的规则,除了它们必须以0x为前缀并使用p指定十六进制指数.十进制和十六进制浮点常量都可以用f或F作为后缀来表示float类型的常量,用l或L来表示long double类型,或者为double常量留下unsuffixed.
Azi*_*ziz 10
更多信息
SLa*_*aks 6
3.0是一个double,而不是一个float.
double
float
doubles是floats的两倍宽.
doubles
编辑:3.0d只在C#中
归档时间:
16 年,3 月 前
查看次数:
9236 次
最近记录:
15 年,6 月 前