Shift Arithmetic

Смещение битов или двоичная точка сигнала

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

    HDL Coder / Логика и Битовые операции

  • Shift Arithmetic block

Описание

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

Например, переключая двоичную точку на входе типа данных 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 отключает симуляцию и отображает ошибку.

Для получения дополнительной информации смотрите Результаты Симуляции и Режима Accelerator для Значений Сдвига разряда Из области значений.

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

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

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

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

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

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

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

Типы данных

double | fixed point | half | integer | single

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

yes

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

no

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

no

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

no

Больше о

развернуть все

Алгоритмы

развернуть все

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

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

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

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

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