Документация Engee

Shift Arithmetic

Выполняет сдвиг битов или двоичной точки сигнала.

Тип: ArithShift

Путь в библиотеке:

/Basic/Logic and Bit Operations/Shift Arithmetic

Описание

Блок Shift Arithmetic сдвигает биты или двоичную точку входного сигнала или выполняет обе эти операции.

В таблице показан пример сдвига двоичной точки для входных данных типа Fixed на два разряда вправо и влево.

Операция сдвига Двоичное значение Десятичное значение

Без сдвига (исходное число)

11001.011

−6.625

Сдвиг бинарной точки вправо на два разряда

1100101.1

−26.5

Сдвиг двоичной точки влево на два разряда

110.01011

−1.65625

Блок Shift Arithmetic выполняет операцию арифметического сдвига битов над числами со знаком. Поэтому блок повторно использует старший бит для каждого битового сдвига. В таблице показан пример сдвига битов для входных данных типа Fixed на два разряда вправо и влево.

Операция сдвига Двоичное значение Десятичное значение

Без сдвига (исходное число)

11001.011

−6.625

Битовый сдвиг вправо на два разряда

11110.010

−1.75

Битовый сдвиг влево на два разряда

00101.100

5.5

Порты

Выход

# OUT_1 — результат
скаляр | вектор | матрица

Details

Результат операции, возвращенный как скаляр, вектор или матрица.

Типы данных

Float32, Float64, Int32, Int64, Fixed

Поддержка комплексных чисел

Да

Вход

# IN_1 — преобразуемое число
скаляр | вектор | матрица

Details

Число, над которым нужно выполнить операцию сдвига, заданное как скаляр, вектор или матрица.

Типы данных

Float32, Float64, Int32, Int64, Fixed

Поддержка комплексных чисел

Да

# s — количество битов для сдвига
скаляр

Details

Количество битов для сдвига, заданное как скаляр.

Зависимости

Чтобы использовать этот порт, установите для параметра Source значение Input port.

Типы данных

Int32, Int64

Поддержка комплексных чисел

Да

Параметры

Сдвигаемые биты

# Source — источник количества битов для сдвига
Dialog | Input port

Details

Укажите, вводить ли количество битов для сдвига в параметре Number или наследовать значения от входного порта s.

Значения

Dialog | Input port

Значение по умолчанию

Dialog

Имя для программного использования

BitShiftNumberSource

Настраиваемый

Нет

Вычисляемый

Нет

# Direction — направление сдвига битов
Bidirectional | Right | Left

Details

Укажите направление сдвига битов: влево, вправо или двунаправленное.

Значения

Bidirectional | Right | Left

Значение по умолчанию

Bidirectional

Имя для программного использования

BitShiftDirection

Настраиваемый

Нет

Вычисляемый

Нет

# Number — количество битов для сдвига
Scalar / array of integers

Details

Задайте количество битов для сдвига.

Если параметр Direction имеет значение Bidirectional, то положительное значение Number означает сдвиг вправо, а отрицательное — влево.

Зависимости

Чтобы использовать этот параметр, установите для параметра Source значение Dialog.

Значение по умолчанию

8

Имя для программного использования

BitShiftNumber

Настраиваемый

Нет

Вычисляемый

Да

Основные

# Binary points to shift — количество разрядов для сдвига двоичной точки
Integer

Details

Укажите целое число разрядов для сдвига двоичной точки входного сигнала. Положительное число означает сдвиг вправо, а отрицательное – влево.

Значение по умолчанию

0

Имя для программного использования

BinPtShiftNumber

Настраиваемый

Нет

Вычисляемый

Да

# Diagnostic for out of range shift value — диагностическое действие
None | Error

Details

Укажите, выводить ли ошибку во время моделирования, когда блок содержит значение сдвига вне диапазона. Варианты включают:

  • None — система не предпринимает никаких действий.

  • Error — система завершает моделирование и отображает ошибку.

Значения

None | Error

Значение по умолчанию

None

Имя для программного использования

DiagnosticForOORShift

Настраиваемый

Нет

Вычисляемый

Нет

Дополнительные возможности

Генерация Си кода: Да