exponenta event banner

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

Биты сдвига или двоичная точка сигнала

  • Библиотека:
  • Операции Simulink/Logic и Bit

    Кодер 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 is Dialog.

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

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

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

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

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

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

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

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

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

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

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

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

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

  • None - Simulink ® не выполняет никаких действий.

  • Warning - Simulink отображает предупреждение и продолжает моделирование.

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

Дополнительные сведения см. в разделе Результаты моделирования и режима ускорителя для значений смещения битов за пределами диапазона.

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

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

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

Дополнительные сведения см. в разделе Создание кода для значений битового сдвига за пределами диапазона.

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

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

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

Типы данных

double | fixed point | half | integer | single

Прямой проход

yes

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

no

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

no

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

no

Подробнее

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

Алгоритмы

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

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

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

.

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

.

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

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