怎么使用C++的float、double判断是否等于0问题

您所在的位置:网站首页 double判断是否为0 怎么使用C++的float、double判断是否等于0问题

怎么使用C++的float、double判断是否等于0问题

2023-05-13 04:45| 来源: 网络整理| 查看: 265

怎么使用C++的float、double判断是否等于0问题 发布时间:2022-08-24 15:57:25 来源:亿速云 阅读:473 作者:iii 栏目:开发技术

本篇内容介绍了“怎么使用C++的float、double判断是否等于0问题”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

float、double判断是否等于0

如果是两个int类型的数据,想要判断他们是否相等,我们可以直接比较。

int a =11; int b=11; if(a==b)

答案是肯定的,BUT如果是float和double:

float是32位,double是64位。float32位中,有1位符号位,8位指数位,23位尾数位。double64位中,1位符号位,11位指数位,52位尾数位。

一般float型只能精确到小数到后六位即1e-6,将float型的数a的绝对值abs(a)与1e-6比较,如果abs(a)比1e-6还要小的话就可以认为a的值为零,因为小数六位以后是不精确的,是没有意义的。

比如数0.0000001虽然确实不等于零,但是第七位小数1是没有意义的就可以认为这个数等于0。

float,double分别遵循R32-24,R64-53的标准。所以float的精度误差在1e-6;double精度误差在1e-15,所以要判断一个单精度浮点数:则是if( abs(f)



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3