在Matlab中NaN的值似乎是错误的

时间:2019-04-20 08:04:06

标签: matlab nan ieee-754 floating

我的MATLAB版本是: 9.3.0.713579(R2017b)

根据IEEE 754-2008,MATLAB中的NaN值不正确:

>> format hex
>> single(+NaN)

ans =

  single

   ffc00000

>> single(-NaN)

ans =

  single

   7fc00000

由于二进制值MSB表示单精度浮点数的符号,因此single(+NaN)的值应为7fc00000,而{{1}的值}应该为single(-NaN)

MATLAB错误吗?是否已在最新版本中修复?

1 个答案:

答案 0 :(得分:3)

  

MATLAB错误吗?

否。

multiple representations of NaN in IEEE-754。特别地,符号位可以是零或一。程序可以使用其中的任何一个,而Matlab并不声称特别使用任何一个。 ffc00000是其中之一; {{1}}是另一个。