为什么12.0==11.999999999999999999被认为是真的

Why does 12.0 == 11.999999999999999999999 is considered as true?

本文关键字:认为是 真的 999999999999999999 为什么      更新时间:2023-10-16

有人能给我一个深入的解释吗?系统考虑近似对吗?(如果我错了,请纠正我(我想知道计算机在这种情况下是如何工作的。非常感谢。

计算机中的普通数字存储的精度只有这么多。C++中的浮点值通常为4个字节。32位不能存储那么多9的精度,所以编译器会四舍五入到它能处理的精度。

基本上,你总共可以得到大约10位数的精度,而且你有更多的9。