【发布时间】:2015-01-04 09:07:57
【问题描述】:
所以我的问题是
float a = 1.5 + 1.3;
完全没问题,或者如果需要的话:
float a = 1.5f + 1.3f;
有人告诉我,C 编译器将不带 f 的浮点数作为双精度数,这种情况可能会导致某处的计算不精确。
这样对还是原来的方式就足够了?
【问题讨论】:
-
原始方式将(排序)工作,但是编译器将应用大量转换。从 double 到 float 'can' 的转换会丢失有效数字。就像将数字转换为双精度一样,执行加法,然后将数字转换回浮点数
标签: c types floating-point double