fimath для Режимов Округления и Переполнения

Только округление методов и набора действий переполнения до операции с объектами fi влияет на результат тех операций. Если вы создаете объект fi в MATLAB®, изменение его округления или настроек переполнения не влияет на свое значение. Например, полагайте, что fi возражает a и b:

p = fipref('NumberDisplay', 'RealWorldValue',...
'NumericTypeDisplay', 'none', 'FimathDisplay', 'none');
T = numerictype('WordLength',8,'FractionLength',7);
F = fimath('RoundingMethod','Floor','OverflowAction','Wrap');
a = fi(1,T,F)
a =
 
    -1
b = fi(1,T)
b =
 
    0.9922

Поскольку вы создаете a с объектом fimath F, которому установили OverflowAction на Wrap, значение a переносится к-1. С другой стороны, потому что вы создаете b со значением OverflowAction по умолчанию Saturate, его значение насыщает к 0,9922.

Теперь, присвойте объект fimath F b:

b.fimath = F
b =
 
    0.9922

Поскольку операция присвоения и соответствующее переполнение и насыщение произошли, когда вы создали b, его значение не изменяется, когда вы присваиваете его новый объект fimath F.

Примечание

Объекты fi без локального fimath и созданный из значения с плавающей точкой всегда создаются с RoundingMethod Nearest и OverflowAction Saturate. Чтобы создать объекты fi с различными свойствами RoundingMethod и OverflowAction, задайте желаемые свойства RoundingMethod и OverflowAction в конструкторе fi.

Для получения дополнительной информации об объекте fimath и его свойствах, см. fimath Свойства объектов