后缀为'f'的双常量用法

时间:2019-04-22 03:34:54

标签: c floating-point double

double f_64  = 3.35f;
double f1_64 = 3.35;

如果使用后缀'f'会有什么效果?

对于在线FPU编译器,十六进制结果如下

后缀为f-0x400ACCCCC0000000
不带后缀f-0x400ACCCCCCCCCCCD

1 个答案:

答案 0 :(得分:1)

后缀f强制编译器将值视为float,而不是double,在下面的赋值中没有多大意义。

double f_64 = 3.35f;  
// Why force a value to float when you've allocated memory for a double

请记住,double isfloat精度的2倍。根据您的特定需求选择类型。

但是,说,你在做

float ans;
ans = 3/2; // ans is trimmed to an int
ans = 3/2.0f; // The decimals are retained