添加 2 个浮点数时保持精度
retaining precision when adding 2 floats
添加两个浮点数时,有没有办法保持精度。例如我正在添加两个浮点数,89 和 0.00123,并将结果存储在一个变量中。当我打印出变量以查看它包含的内容时,我得到了 89.0012。最后一位数字怎么了?有没有办法确保我不会丢失多余的数字。
您可以使用
std::setprecision()
:
#include <iostream>
#include <iomanip>
int main() {
float x = 89;
float y = 0.00123;
std::cout << std::setprecision(7) << x + y << std::endl;
return 0;
}
相关文章:
- 使用浮点数和双精度数的非常小数字的数学
- 为什么 std::cout 打印浮点数、双精度和长双精度到相同的小数精度?
- 位设置为浮点数或双精度值 c++
- 为什么浮点数的矢量化比双精度更有效?
- 在C++中序列化浮点数/双精度,编译为 WebAssembly
- 为什么编译器接受具有长双精度文本的浮点数的初始化?
- C++ 警告:在一个声明中将截断从双精度初始化为浮点数,但在另一个声明中则不初始化
- 在 OpenCL 内核中实现半精度浮点数据类型
- 如何随机化双精度/浮点数据类型? C++
- 提升多精度浮点数128:标准::exp错误:'no matching function for call'
- 如何提高计算浮点数的精度?
- atof() 返回浮点数而不是双精度
- 如何以最大精度(C++)将uint64_t转换为0到1之间的双精度/浮点数?
- 单个精度浮点数上的第 24 个分数位在哪里?IEEE 754
- 在C++中实现半精度浮点数
- C++双精度/浮点数的内部表示
- 清除单个精度浮点数的位
- 将双精度浮点数舍入到最接近且更大的浮点数
- 如何判断双精度浮点数是否可以安全地存储为单精度浮点数
- 用于高精度浮点数的c++类型