exponenta event banner

зафиксировать

Скругление к нулю

Описание

пример

y = fix(a) раунды fi объект a до ближайшего целого числа в направлении нуля и возвращает результат в fi объект y.

Примеры

свернуть все

В следующем примере показано, как fix функция влияет на numerictype свойства подписанного fi объект со словом длиной 8 и дробью длиной 3.

a = fi(pi,1,8,3)
a = 
    3.1250

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Signed
            WordLength: 8
        FractionLength: 3
y = fix(a)
y = 
     3

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Signed
            WordLength: 5
        FractionLength: 0

В следующем примере показано, как fix функция влияет на numerictype свойства подписанного fi объект со словом длиной 8 и дробью 12.

a = fi(0.025,1,8,12)
a = 
    0.0249

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Signed
            WordLength: 8
        FractionLength: 12
y = fix(a)
y = 
     0

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Signed
            WordLength: 2
        FractionLength: 0

Функции ceil, fix, и floor отличаются тем, как они округляются fi объекты:

  • ceil функция округляет значения до ближайшего целого числа до положительной бесконечности.

  • fix функция округляет значения до ближайшего целого к нулю.

  • floor функция округляет значения до ближайшего целого числа до отрицательной бесконечности.

Этот пример иллюстрирует эти различия для данного fi входной объект a.

a = fi([-2.5,-1.75,-1.25,-0.5,0.5,1.25,1.75,2.5]');
y = [a ceil(a) fix(a) floor(a)]
y=8×4 object
   -2.5000   -2.0000   -2.0000   -3.0000
   -1.7500   -1.0000   -1.0000   -2.0000
   -1.2500   -1.0000   -1.0000   -2.0000
   -0.5000         0         0   -1.0000
    0.5000    1.0000         0         0
    1.2500    2.0000    1.0000    1.0000
    1.7500    2.0000    1.0000    1.0000
    2.5000    3.0000    2.0000    2.0000

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Signed
            WordLength: 16
        FractionLength: 13

plot(a,y); legend('a','ceil(a)','fix(a)','floor(a)','location','NW');

Figure contains an axes. The axes contains 4 objects of type line. These objects represent a, ceil(a), fix(a), floor(a).

Входные аргументы

свернуть все

Вход fi массив, указанный как скаляр, вектор, матрица или многомерный массив.

Для сложных fi объекты, мнимая и действительная части округляются независимо.

fix не поддерживает fi объекты с нетривиальным наклоном и масштабированием смещения. Масштабирование наклона и смещения является тривиальным, если наклон равен целой степени 2, а смещение равно 0.

Типы данных: fi
Поддержка комплексного номера: Да

Алгоритмы

  • y и a имеют то же самое fimath объект и DataType собственность.

  • Когда DataType имущество a является single, double, или boolean, numerictype из y является таким же, как у a.

  • Когда длина фракции a нулевое или отрицательное значение, a уже является целым числом, и numerictype из y является таким же, как у a.

  • Когда длина фракции a является положительным, длина фракции y является 0, его знак тот же, что и у a, и его длина слова является разницей между длиной слова и длиной дроби aплюс один бит. Если a подписывается, то минимальная длина слова y является 2. Если a не подписывается, то минимальная длина слова y является 1.

Расширенные возможности

Создание кода C/C + +
Создайте код C и C++ с помощью MATLAB ® Coder™

.

Создание кода HDL
Создание кода Verilog и VHDL для проектов FPGA и ASIC с использованием Coder™ HDL.

См. также

| | | |

Представлен в R2008a