Fork me on GitHub

C语言-二进制不能精确的表示浮点数

STM32学习笔记-二进制不能精确的表示浮点数

问题:二进制不能精确的表示部分浮点数,所以浮点数应该尽量避免等式和不等式的比较

原因:

根据IEEE可以学到浮点数double在内存中占4个字节其中:
image

例如:https://blog.csdn.net/qwertyuoi123456/article/details/53379068
(此例子中应注意小数部分应该是逆序取)

但是0.1在算尾数时候是一直乘以2乘不尽的。但是4字节的空间有限,所以只能是无限接近。

posted @ 2021-12-30 14:17  一地鸡毛-  阅读(78)  评论(0编辑  收藏  举报