【发布时间】:2010-12-02 02:42:13
【问题描述】:
我见过一些这样的符号,但我找不到任何奇怪的地方,
double d = 5D;
float f = 3.0F;
5后面的D和F到底是什么意思?
【问题讨论】:
-
对于那些来自 C 的:1)
d后缀在 ANSI C 中不存在,仅作为 GNU 扩展。 2)1f在 C 中是不可能的,你必须使用1.0f。 3) 对于十六进制整数 literls,d和f不起作用,因为它们会与数字本身模棱两可,例如0x1f是31,而不是1.0f -
请注意,在带有 GCC 的 C 中,即使
5D作为整数常量也是无效的;5.D可以。 ICC 15 默默地将这些数字视为 0。而使用 tcc 0.9.27,则会出现编译时错误。
标签: java floating-point double