判断两个float或double是否相等

简介: double a, b; ... if(a==b) ...不用考虑初始化的问题哈,此处不是说明那个问题。不能直接 if(a==b)而是要equal(a,b)equal 函数自己写public boolean equal(double a, double b) { if ((a- b> -0.00
    double a, b;
    ...
    if(a==b)
    ...

不用考虑初始化的问题哈,此处不是说明那个问题。

不能直接 if(a==b)

而是要equal(a,b)

equal 函数自己写

public boolean equal(double a, double b) {
        if ((a- b> -0.000001) && (a- b) < 0.000001)
            return true;
        else
            return false;
    }

计算机判断两个数相等,将判断所有的二进制位是否相等,当所有的位都相等时,两个数才相等,绝对的相等。

但人们对小数来说,保留小数点后几位就足够了,因此两个小数的差在可接受的精度范围内就可以被认为是相等的。

    /* a == b*/
    int dequals(double a, double b) {
        return fabs(a-b) < 0.000001;
    }

此时,当a>b时,a有可能等于b,因此判断大小关系时,先判断a是否等于b。

目录
相关文章
|
7月前
|
存储 Java
百度搜索:蓝易云【Java语言之float、double内存存储方式】
由于使用IEEE 754标准进行存储,float和double类型可以表示非常大或非常小的浮点数,并且具有一定的精度。然而,由于浮点数的特性,它们在进行精确计算时可能会存在舍入误差。在编写Java程序时,需要注意使
98 0
|
2月前
|
存储 C语言
使用 sizeof 操作符计算int, float, double 和 char四种变量字节大小
【10月更文挑战第13天】使用 sizeof 操作符计算int, float, double 和 char四种变量字节大小。
101 1
|
5月前
|
存储 编译器 C++
C++从遗忘到入门问题之float、double 和 long double 之间的主要区别是什么
C++从遗忘到入门问题之float、double 和 long double 之间的主要区别是什么
|
5月前
|
存储 SQL 数据库
MySQL设计规约问题之为何推荐用DECIMAL代替FLOAT和DOUBLE来存储精确浮点数
MySQL设计规约问题之为何推荐用DECIMAL代替FLOAT和DOUBLE来存储精确浮点数
|
7月前
|
存储 C语言
计算 int, float, double 和 char 字节大小
计算 int, float, double 和 char 字节大小。
82 3
|
存储 C语言
C 语言实例 - 计算 int, float, double 和 char 字节大小
C 语言实例 - 计算 int, float, double 和 char 字节大小。
98 1
|
7月前
|
C#
C# 字节数组与INT16,float,double之间相互转换,字符数组与字符串相互转换,
C# 字节数组与INT16,float,double之间相互转换,字符数组与字符串相互转换,
201 2
|
存储 C语言
计算 int, float, double 和 char 字节大小
C 语言实例 - 计算 int, float, double 和 char 字节大小。
98 1
float与double精度丢失问题
float与double精度丢失问题
124 0
float和double的区别
float和double的区别
104 0