在C++(和C)中,没有后缀的浮点文字默认为double,而后缀f意味着a float.但是后缀是long double什么?
不知道,我会定义,比方说,
const long double x = 3.14159265358979323846264338328;
Run Code Online (Sandbox Code Playgroud)
但我担心的是变量x包含的有效位3.14159265358979323846264338328少于64,因为这是一个double文字.这种担心是否合理?
在C中,
unsigned int size = 1024*1024*1024*2;
Run Code Online (Sandbox Code Playgroud)
这导致警告"表达式中的整数溢出......"而
unsigned int size = 2147483648;
Run Code Online (Sandbox Code Playgroud)
结果没有警告?
第一个表达式的正确值是否默认为int?它在C99规范中提到了哪里?
我问,因为我使用的是Box2D库,它主要调用float参数.虽然我看到很多使用0.00f格式的示例代码,但 我不太确定它与普通旧0.00之间是否存在实际差异.我会被通过不附加额外以后伤害自己˚F?这是速度的事吗?当其他人不愿意时,是否存在需要f加数的某种含义?
TL;博士?我为什么要使用0.00f而不是0.00?