Shift Arithmetic

Сдвиньте биты или двоичную точку сигнала

  • Библиотека:
  • Simulink/Логические и битовые операции

    HDL-кодер/логика и битовые операции

  • Shift Arithmetic block

Описание

Блок Сдвиг Арифметики может сдвинуть биты или двоичную точку входного сигнала, или оба.

Для примера смещение двоичной точки на вход типа данных sfix(8) на два места вправо и влево задает эти десятичные значения.

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

Нет сдвига (исходный номер)

11001.011

–6.625

Сдвиг двоичной точки вправо на два места

1100101.1

–26.5

Сдвиг двоичной точки влево на два места

110.01011

–1.65625

Этот блок выполняет арифметические сдвиги бит на знаковых числах. Поэтому блок рециркулирует самый значительный бит для каждого сдвига бита. Переключение бит на вход типа данных sfix(8) на два места вправо и влево задает эти десятичные значения.

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

Нет сдвига (исходный номер)

11001.011

–6.625

Сдвиг бита вправо на два места

11110.010

–1.75

Сдвиг бита влево на два места

00101.100

5.5

Порты

Вход

расширить все

Число, которое будет работать, заданное как скаляр, вектор или массив.

Типы данных: single | double | half | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fixed point

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

Типы данных: single | double | half | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fixed point

Выход

расширить все

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

Типы данных: single | double | half | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fixed point

Параметры

расширить все

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

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

Программное использование

Параметры блоков: BitShiftNumberSource
Тип: Вектор символов, строка
Значения: 'Dialog' | 'Input port'
По умолчанию: 'Dialog'

Задайте скаляр, вектор или массив значений битового сдвига. Этот параметр доступен, когда Bits to shift: Source Dialog.

Если направление...Тогда...
Left или Right Используйте положительные целые числа, чтобы задать битовые сдвиги.
Bidirectional Используйте положительные целые числа для сдвигов вправо и отрицательные целые числа для сдвигов влево.

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

Программное использование

Параметры блоков: BitShiftNumber
Тип: Вектор символов, строка
Значения: scalar
По умолчанию: '9'

Задайте направление сдвига бит: левый, правый или двунаправленный.

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

Программное использование

Параметры блоков: BitShiftDirection
Тип: Вектор символов, строка
Значения: 'Left' | 'Right' | 'Bidrectional'
По умолчанию: 'Bidrectional'

Задайте целое число мест, чтобы сдвинуть двоичную точку входного сигнала. Положительное значение указывает на сдвиг вправо, в то время как отрицательное значение указывает на сдвиг влево.

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

Программное использование

Параметры блоков: BinPtShiftNumber
Тип: Вектор символов, строка
Значения: 'Dialog' | 'Input port'
По умолчанию: 'Dialog'

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

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

  • Warning - Simulink отображает предупреждение и продолжает симуляцию.

  • Error - Simulink завершает симуляцию и отображает ошибку.

Для получения дополнительной информации см. Simulation and Режим Accelerator Results for Out-of-Range Bit Shift Values.

Программное использование

Параметры блоков: DiagnosticForOORShift
Тип: Вектор символов, строка
Значения: 'None' | 'Warning' | 'Error'
По умолчанию: 'None'

Установите этот флажок, чтобы включить условные операторы в сгенерированный код, которые защищают от значений битового сдвига вне области допустимого значения. Этот флажок доступен, когда Bits to shift: Source Input port.

Для получения дополнительной информации смотрите Генерацию кода для значений Bit Shift вне области допустимого.

Программное использование

Параметры блоков: CheckOORBitShift
Тип: Вектор символов, строка
Значения: 'on' | 'off'
По умолчанию: 'off'

Характеристики блоков

Типы данных

double | fixed point | half | integer | single

Прямое сквозное соединение

yes

Многомерные сигналы

no

Сигналы переменного размера

no

Обнаружение пересечения нулем

no

Подробнее о

расширить все

Алгоритмы

расширить все

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

Генерация кода C/C + +
Сгенерируйте код C и C++ с помощью Coder™ Simulink ®

.

Генерация кода ПЛК
Сгенерируйте структурированный текстовый код с помощью Coder™ Simulink ® PLC

.

Преобразование с фиксированной точкой
Разрабатывайте и моделируйте системы с фиксированной точкой с помощью Fixed-Point Designer™.

Представлено до R2006a