c++ - 如何重现 C++ 双舍入问题

标签 c++ floating-point rounding

浮点精度在 C++ 中受到限制,对于新手程序员来说,在四舍五入值时经常会遇到麻烦。

在教学生时,演示浮点精度数字舍入问题通常很有用。您知道哪些可能的方法可以在所有 C++ 编译器上一致地证明此类舍入问题?

最佳答案

你可以使用这个例子:

#include <iostream>
using namespace std;

int main() {
  for (double d = 0.0; d != 1.0; d += 0.1)
    cout << d << "\n";
}

程序永远不会终止,因为 d 永远不会等于 1。

关于c++ - 如何重现 C++ 双舍入问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5365336/

相关文章:

c++ - 位置百分比度

c++ - 二叉搜索树 - 搜索函数返回对象 (C++)

c++ - 舍入误差减少?

android - 将浮点值添加到 android 资源/值

ios - 十进制 0 精度

c++ - 浮点算术运算的精度是多少?

c++ - 读取/dev/ttyACM0 文件的速度有多快?

c++ - 将整数放入数组 C++

assembly - GCC 在转换 unsigned int 时如何使用 fildll?

c# - 将尾数和指数转换为 double