Matlab中NaN的值似乎是错误的

问题描述 投票:2回答:1

我的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,而single(-NaN)的值应为ffc00000

MATLAB错了吗?它是在最新版本中修复的吗?

matlab nan ieee-754 floating
1个回答
3
投票

MATLAB错了吗?

没有。

multiple representations of NaN in IEEE-754。特别地,Sign位可以是0或1。程序可以使用它们中的任何一个,并且Matlab并不声称特别使用任何一个。 7fc00000就是其中之一; ffc00000是另一个。

© www.soinside.com 2019 - 2024. All rights reserved.