java中浮点数比较“陷阱”及其原理

发布时间:2024年01月06日

Java中两个小数比较,可能会出现在运算上一样。但是计算机就是不对的情况。比如图1:
在这里插入图片描述

原理:这个原理涉及计算机组成原理,就是1.数据在计算机中以二进制存储,2.而这个浮点数呢又大多以IEEE754标准,你学过这两点的话你可以 举例两个数算一下,你就能明白。比如“2 - 1.3”这两个数相减你用IEEE754运算算一遍自然会明白。两个这里我只做简单回答和引导,注意:float在IEEE754中是32位
在这里插入图片描述

如何解决这种比较问题呢?这种不一致不会太大,所以我们用一种小范围。解决:
在这里插入图片描述

文章来源:https://blog.csdn.net/m0_51577196/article/details/135349107
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。