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

Арифметический сдвиг

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

Тип: ArithShift

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

/Basic/Logic and Bit Operations/Shift Arithmetic

Описание

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

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

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

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

11001.011

−6.625

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

1100101.1

−26.5

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

110.01011

−1.65625

Блок Арифметический сдвиг выполняет операцию арифметического сдвига битов над числами со знаком. Поэтому блок повторно использует старший бит для каждого битового сдвига. В таблице показан пример сдвига битов для входных данных типа 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

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

Зависимости

Чтобы использовать этот порт, установите для параметра Источник значение Входной порт.

Типы данных

Int32, Int64

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

Да

Параметры

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

# Источник — источник количества битов для сдвига
Поле ввода | Входной порт

Details

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

Значения

Dialog | Input port

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

Dialog

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

BitShiftNumberSource

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

Нет

Вычисляемый

Нет

# Направление — направление сдвига битов
В обе стороны | Вправо | Влево

Details

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

Значения

Bidirectional | Right | Left

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

Bidirectional

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

BitShiftDirection

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

Нет

Вычисляемый

Нет

# Количество — количество битов для сдвига
Скаляр / массив целых чисел

Details

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

Если параметр Направление имеет значение В обе стороны, то положительное значение Количество означает сдвиг вправо, а отрицательное — влево.

Зависимости

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

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

8

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

BitShiftNumber

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

Нет

Вычисляемый

Да

Основные

# Количество разрядов для сдвига двоичной точки — количество разрядов для сдвига двоичной точки
Целое число

Details

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

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

0

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

BinPtShiftNumber

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

Нет

Вычисляемый

Да

# Проверка выхода за пределы допустимого значения сдвига — диагностическое действие
Ничего | Ошибка

Details

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

  • Ничего — система не предпринимает никаких действий.

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

Значения

None | Error

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

None

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

DiagnosticForOORShift

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

Нет

Вычисляемый

Нет

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

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