c++ - 在 C++ 中对 float 变量执行算术运算时,是否总是需要使用 float 文字?

标签 c++ performance floating-point floating-accuracy floating-point-precision

我看到很多 C++ 代码都有这样的行:

float a = 2;
float x = a + 1.0f;
float b = 3.0f * a;
float c = 2.0f * (1.0f - a);

这些文字后面的 .0f 真的有必要吗?如果省略这些,您会失去数字准确性吗?

我认为只有在你有这样一行时才需要它们:

float a = 10;
float x = 1 / a;

你应该在哪里使用 1.0f,对吧?

最佳答案

在以下情况下您需要使用它:

float x = 1/3;

1 或 3 需要有一个 .0 否则 x 将始终为 0。

关于c++ - 在 C++ 中对 float 变量执行算术运算时,是否总是需要使用 float 文字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12535740/

相关文章:

c++ - 传递一列二维数组

c++ - 在浮点比较中选择 ULP 值

java - Java 中的 float 数据类型精度

c# - 十进制不能做什么,但双倍可以,反之亦然?

c++ - 参数包构造函数优于其他构造函数调用

c++ - 从 glTexStorage3D 切换到 glTexImage3D

c++ - 使用 MinGW gcc 4.4.0 boost thread_interrupted 异常终止(),3.4.5 OK

performance - 为什么我不能通过使用 get_unchecked() 来提高性能?

c# - CPU 未充分利用。由于阻塞 I/O?

python - pandas 中 .at 和 .loc 的时间复杂度是多少?