计算机如何计算浮点数 0.1
how does computer calculate the float 0.1?
我有一些有趣的好奇心,计算机如何计算浮点数 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;
}
相关文章:
- 在C++中,将大的无符号浮点数四舍五入为整数的最佳方法是什么
- 如何修复此错误:未定义对"距离(浮点数,浮点数,浮点数,浮点数,浮点数)"的引用
- C++浮点数据类型和字符串数据类型无法子到模板函数中
- 使用提升将数据从 PyObject 复制到浮点数 *
- AVX2:计算 512 个浮点数组的点积
- 如何提高计算浮点数的精度?
- 当我们C++将两个数组的整数除以 时,如何获得浮点数计算;
- 如何计算浮点数据类型的范围、最大值、最小值
- 浮点数的不准确导致计算错误
- 如何计算C++浮点数中的小数位数
- 浮点数组的中间模式平均值计算
- 如果浮点数和双倍数不准确,银行如何进行涉及货币的准确计算
- 计算机如何计算浮点数 0.1
- 数学计算-浮点数
- 在c++中计算两个浮点数之差时,y * (1 - x / y)是否优于y - x ?
- 这个函数如何通过NOT和and操作来计算浮点数的绝对值
- 将计算值分配到浮点数组-c++中
- 使用EXPECT_EQ计算双精度或浮点数的和时出错
- 如何计算具有 n 位小数的浮点数
- 浮点数——为什么c++对看似相同的计算给出了不同的答案?