hex2dec
функция выдает предупреждение, когда входные значения больше или равны flintmax
. В предыдущих релизах, hex2dec
не выдавал этого предупреждения.
hex2dec
теперь выдает предупреждение, поскольку входы, представляющие целые числа, большие или равные flintmax
может не быть точно представлено как значения с плавающей точностью двойной точности.
Чтобы преобразовать значения, большие flintmax
в точности рассмотрим одну из следующих альтернатив:
Вместо скалярных входов используйте шестнадцатеричные или двоичные литералы, представляющие одинаковые значения. Когда вы записываете значение как литерал, MATLAB® сохраняет его как целое число, которое точно представляет значение. Для получения дополнительной информации см. Шестнадцатеричные и двоичные значения.
Чтобы преобразовать шестнадцатеричные входы, большие flintmax
, вы можете использовать sscanf
функция со %lx
оператор. Когда вы используете %lx
, преобразованные значения являются целыми числами, которые имеют uint64
тип данных. Эти целые числа имеют достаточное количество памяти, чтобы представлять значения, большие, чем flintmax
точно.
.