exponenta event banner

Изменения

Почти все микропроцессоры и цифровые сигнальные процессоры поддерживают четко определенные операции сдвига битов (или просто сдвига) для целых чисел. Например, рассмотрим 8-битное целое число без знака 00110101. Результаты 2-разрядного сдвига влево и 2-разрядного сдвига вправо показаны в следующей таблице.

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

Без смены (исходный номер)

00110101

53

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

11010100

212

Смещение вправо на 2 бита

00001101

13

Сдвиг можно выполнить с помощью арифметического блока Simulink ® Shift. Используйте этот блок для выполнения битового сдвига, двоичного точечного сдвига или обоих

Смещение битов вправо

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

Арифметический блок сдвига выполняет арифметический сдвиг вправо и, следовательно, повторно использует старший бит для каждого битового сдвига вправо. Например, учитывая фиксированную точку номер 11001.011 (-6.625), немного изменения два места направо с запятой в двоичном числе неперемещенные урожаи номер 11110.010 (-1.75), как показано в модели ниже:

Чтобы выполнить логический сдвиг справа от подписанного числа с помощью арифметического блока Shift, используйте блок преобразования типа данных, чтобы привести число как беззнаковое число эквивалентной длины и масштаба, как показано в следующей модели. Модель показывает, что подписанный номер с фиксированной точкой 11001.001 (-6.625) становится 00110.010 (6.25).