C语言-二进制不能精确的表示浮点数
STM32学习笔记-二进制不能精确的表示浮点数
问题:二进制不能精确的表示部分浮点数,所以浮点数应该尽量避免等式和不等式的比较
原因:
根据IEEE可以学到浮点数double在内存中占4个字节其中:
例如:https://blog.csdn.net/qwertyuoi123456/article/details/53379068
(此例子中应注意小数部分应该是逆序取)
但是0.1在算尾数时候是一直乘以2乘不尽的。但是4字节的空间有限,所以只能是无限接近。