nan是啥意思

Posted

tags:

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

nan是什么意思

NaN意思是非数。

NaN(Not a Number,非数)是计算机科学中数值数据类型的一类值,表示未定义或不可表示的值。常在浮点数运算中使用,是以浮点数表示实数时的特殊值。首次引入NaN的是1985年的IEEE 754浮点数标准。

返回NaN的运算有如下三种:

1、至少有一个参数是NaN的运算。

2、不定式:

(1)下列除法运算:0/0、∞/∞、∞/−∞、−∞/∞、−∞/−∞。

(2)下列乘法运算:0×∞、0×−∞。

(3)下列加法运算:∞ + (−∞)、(−∞) + ∞。

(4)下列减法运算:∞ - ∞、(−∞) - (−∞)。

3、产生复数结果的实数运算。如:对负数进行开偶次方的运算。

参考技术A

NaN(Not a Number,非数)是计算机科学中数值数据类型的一类值,表示未定义或不可表示的值。常在浮点数运算中使用。首次引入NaN的是1985年的IEEE 754浮点数标准。




简介

NaN(NotaNumber,非数)是计算机科学中数值数据类型的一类值,表示未定义或不可表示的值。常在浮点数运算中使用。首次引入NaN的是1985年的IEEE 754浮点数标准。



浮点数

在浮点数运算中,NaN与无穷大的概念不同,尽管两者均是以浮点数表示实数时的特殊值。无效操作(Invalid Operation)同样也不同于算术溢出(可能返回无穷大)和算术下溢出(可能返回最小的一般数值、特殊数值、零等)。


IEEE 754-1985中,用指数部分全为1、小数部分非零表示NaN。以32位IEEE单精度浮点数的NaN为例,按位表示即:S111 1111 1AXX XXXX XXXX XXXX XXXX XXXX,S为符号位,符号位S的取值无关紧要;A是小数部分的最高位( the most significant bit of the significand),其取值表示了NaN的类型:X不能全为0,并被称为NaN的payload。


大多数处理器,包括Intel与AMD的x86系列、Motorola68000系列、AIMPowerPC系列、ARM系列、SunSPARC系列,采取了A为'is_quiet'标记位。即,如果A = 1,则该数是quiet NaN;如果A为零、其余X部分非零,则是signaling NaN。IEEE 754-2008标准采纳了这一方案。


PA-RISC与MIPS处理器,采取了A为'is_signaling'标记位。恰与上述相反。


以上内容参考百度百科-nan

参考技术B NaN,是Not a Number的缩写。 NaN 用于处理计算中出现的错误情况,比如 0.0 除以 0.0 或者求负数的平方根。由上面的表中可以看出,对于单精度浮点数,NaN 表示为指数为 emax + 1 = 128(指数域全为 1),且尾数域不等于零的浮点数。IEEE 标准没有要求具体的尾数域,所以 NaN 实际上不是一个,而是一族。不同的实现可以自由选择尾数域的值来表达 NaN,比如 Java 中的常量 Float.NaN 的浮点数可能表达为 01111111110000000000000000000000,其中尾数域的第一位为 1,其余均为 0(不计隐藏的一位),但这取决系统的硬件架构。Java 中甚至允许程序员自己构造具有特定位模式的 NaN 值(通过 Float.intBitsToFloat() 方法)。比如,程序员可以利用这种定制的 NaN 值中的特定位模式来表达某些诊断信息。本回答被提问者采纳

NAN是啥意思?

参考技术A

NaN 用于处理计算中出现的错误情况,比如 0.0 除以 0.0 或者求负数的平方根。NaN 实际上不是一个数,而是一族。

NAN Not A Number就是代表不是一个数据。一般出现这个东西的原因有两个:

    你的程序里出现0作为分母的运算,这个时候可以考虑把被除矩阵整体加一个无限小量,例如1e-10。这样可以消除0作分母的现象。

    如果上面这个做法不管用,就是你自己的算法和编程的问题了,导致结果不收敛,发散。

参考资料

在matlab中NAN是什么意思.豆丁网[引用时间2017-12-30]

以上是关于nan是啥意思的主要内容,如果未能解决你的问题,请参考以下文章

NAN是啥意思?

社保中的nan.undefined是啥意思请问~

NaN是啥意思,我想要知道这个问题!

C语言中INF和NAN是啥意思

这三个特殊的浮点值是啥意思:正无穷大、负无穷大、NaN?

在matlab中NAN是啥意思?