计算机如何计算浮点数0.1?

时间:2013-10-03 07:38:18

标签: c++ c computer-science

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

1 个答案:

答案 0 :(得分:3)

由于四舍五入,您可以从有限二进制表示到原始十进制。如果您尝试以更高的精度打印数字,则不会精确到0.1。 Working example

#include <iostream>
#include <iomanip>
using namespace std; 

int main() {
    float f = 0.1f;
    cout << f << endl;
    cout << setprecision(10) << f << endl;
}