计算机如何计算浮点数 0.1

how does computer calculate the float 0.1?

本文关键字:浮点数 计算 何计算 计算机      更新时间:2023-10-16

我有一些有趣的好奇心,计算机如何计算浮点数 0.1?
在 wolfram alpha 中,查询 "0.1 到二进制" 无限获得二进制浮点数.
但是 c++ 编译器 (xcode) 精确地计算 0.1.
怎么可能?

由于四舍五入,您可以从有限二进制表示获得原始小数。如果您尝试以更高的精度打印数字,则不会完全是 0.1。工作示例:

#include <iostream>
#include <iomanip>
using namespace std; 
int main() {
    float f = 0.1f;
    cout << f << endl;
    cout << setprecision(10) << f << endl;
}