Версия моего MATLAB:
9.3.0.713579 (R2017b)
Согласно IEEE 754-2008, значение NaN в MATLAB неверно:
>> format hex
>> single(+NaN)
ans =
single
ffc00000
>> single(-NaN)
ans =
single
7fc00000
Поскольку MSB
двоичного значения представляет знак числа с плавающей запятой одинарной точности, значение single(+NaN)
должно быть 7fc00000
, тогда как значение single(-NaN)
должно быть ffc00000
.
MATLAB не прав? Это исправлено в последней версии?