c++ - 计算机如何进行浮点运算?

我看过很长的文章解释如何存储 float 以及这些数字的算术是如何完成的,但是请在我写的时候简要解释一下为什么

cout << 1.0 / 3.0 <<endl;

我看到 0.333333,但是当我写的时候

cout << 1.0 / 3.0 + 1.0 / 3.0 + 1.0 / 3.0 << endl;

我看到 1

计算机是如何做到这一点的?请解释这个简单的例子。这对我来说已经足够了。

最佳答案

查看 "What every computer scientist should know about floating point arithmetic" 上的文章

https://stackoverflow.com/questions/6033184/

相关文章:

c++ - (为什么)移动构造函数或移动赋值运算符应该清除它的参数吗?

c++ - 虚函数默认参数行为

c++ - 动态和静态范围程序差异

c++ - GCC 4.x/C++11 中的 std::string 引用计数了吗?

c++ - 最快的素数测试算法

c++ - 如何设置 QMainWindow 标题

c++ - 如何让我的类(class)成为 google-test 类(class)的 friend

c++ - 从基类构造函数调用纯虚函数

c++ - 库已链接,但引用未定义

c++ - 持有派生类引用的基类的 std::unique_ptr 在 gcc 编译器中不显示警告,