浮点数的比较

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了浮点数的比较相关的知识,希望对你有一定的参考价值。

float 是单精度浮点类型  占4个字节

double 是双精度浮点类型  占8个字节

long double 规定long double 至少与double一样长 8个字节

因为浮点类型不能精确的表示一个数,所以浮点数据类型不能与0值进行直接比较,所以我们在比较浮点数与0的大小关系时,通常要设置一个精度范围,只要浮点数在正负精度范围之内,我们就可以认为该浮点数大小为0.

例:判断浮点数a和b的大小关系

#define _CRT_SECURE_NO_WARNINGS 1

#include<stdio.h>

#include<stdlib.h>


#define  ACCURACY   0.00000000000001                           //  设置精度

int main()

{

                 float a = 0.0;

                 float b = 0.0;

                scanf( "%f%f", &a, &b);

                 if ((a - b) < -ACCURACY )                                                               //小于负精度

                {

                                printf( "a<b\n");

                }

                 if ((a - b)>-ACCURACY && (a - b) < ACCURACY)                       //在正负精度范围之内

                {

                                printf( "a=b\n");

                }

                 if ( (a - b) > ACCURACY )                                                                //大于正精度

                {

                                printf( "a>b\n");

                }

                system( "pause");

                 return 0;

}


本文出自 “11132019” 博客,请务必保留此出处http://11142019.blog.51cto.com/11132019/1753002

以上是关于浮点数的比较的主要内容,如果未能解决你的问题,请参考以下文章

php浮点数比较

浮点数的比较

浮点数比较为啥没有相等的函数

浮点数比较

浮点数比较

浮点数的比较