C语言中INF和NAN是什么意思
Infinity(Linux)对应于#INF:Infinity(Windows)NAN:紧急表带对应于#IND:INDEFINITE(Windows)注意:1 INF通常是由于获得的值超过浮动分数的表示面积(溢出,即序列部分,即序列部分超过它可以表示的最大值);虽然NAN通常是由于浮动评分不确定的事实,例如:B。为-1 制作一个正方形。
2 nan == nan的结果是0或错误,这意味着它不能与Nan进行比较。
通过与NAN进行比较保留的结果始终是错误的或0。
因此,您可以使用该函数:Intisnumber(dibled){return(d == d);}来确定是否存在。
如果有DAN,则有0个后背,否则有一个值。
3 1 .0/0.0对应于inf,-1 .0/0.0对应于-inf,0.0+inf = inf = inf; 4 对负数进行平方SQRT(-1 .0),寻找对数(log(-1 .0)),0.0/0.0,0.0*INF,INF,INF,INF,INF,INF,INF,INFI和其他操作。
(0/0创建一个操作例外; 0.0/0.0不会产生异常,但在c-语言的标头文件
6 有一个定义的常数DBL_MAX,可以表达“可以表达最大的浮点值,可以表达的最大dbl_min在
浮动分数,IE操作,例如<=,>+,==,!。
Initiflite(X); 直觉(x); Intisnan(x); intisinf(x); 特定用途:1 INTFPCLASSIFY(X)用于显示浮动分数X的情况。
FPCLASSIFY可以将任何浮点表达式用作参数。
FPCASSIFY的返回值具有以下情况。
FP_NAN:X是“紧急表带”。
fp_infinite:x是正且无限的。
fp_zzero:x是0。
FP_Normal:X是正常的浮动分数(上面提到的结果之一)。
2 . Intitinite (x) where (fpcassify (x)! = FP_NAN && fpcassify (x)! 3 .. Intisnormal (x) If (fpcassify (x) == fp_nommal), this macro receives a value unequal. 4 . Intisnan (x) == fp_nan) Macro returns a value of 5 .
C语言中INF和NAN是什么意思
在语言C中,INF和NAN是用于代表特定数学条件的浮点的两个特殊值。INF代表无穷大。
当计算的结果超过浮点的表示间隔时,如果将获得溢流订单代码的一部分。
但是,当执行一些不确定的操作(例如-1 平方)时,您会得到NAN,即-Humo,这意味着无法确定计算结果。
在语言C中,NAN的某些特征值得注意:NAN不能与其他数值值进行比较,例如NAN == NAN总是返回0或false,这意味着判断NAN的方法通常是通过ISNAN函数(加倍)。
如果D是NAN,则该函数返回0,否则它将从头开始返回一个不同的值。
例如,1 .0/0.0的结果为正和无限(INF),而诸如SQRT(-1 .0),log(-1 .0)之类的操作将获得NAN。
当涉及到这些特殊价值时,程序员必须验证溢出,零部门或非法操作的存在。
语言标头文件提供了两个常数:dbl_max和dbl_min,它表示最大精度和最小的双精度峰号。
通过ISFintEnumber函数(d = -dbl_max),可以确定一个数字是有限的数字,即non -inf和nan。
INF可以参加比较操作,为1 .0/INF等于0.0,但NAN不能。
语言C提供了一些宏观功能,例如fpClassify,isfinite,isnan,isinf等,可以方便地检测到表达式的结果是这些特殊值。
例如,如果X为NAN,无限,零,未标准化或归一化,则FPClassify(X)可以返回。
这些宏的使用促进了该程序来管理这些特殊值。