exponenta event banner

bitsra

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

Синтаксис

Описание

пример

c=bitsra(a,k) возвращает результат арифметического сдвига вправо на k биты на входе a для операций с фиксированной точкой. Для операций с плавающей запятой он выполняет умножение на 2-k.

Если вход не подписан, bitsra сдвигает нули в позиции битов, которые они сдвигают вправо. Если вход подписан, bitsra сдвигает старший бит (MSB) в позиции битов, которые он сдвигает вправо.

bitsra игнорирует fimath свойства, такие как RoundingMode и OverflowAction.

Когда a является fi объект, a и c имеют те же связанные fimath и numerictype объекты.

Примеры

свернуть все

Создание подписанной фиксированной точки fi объект со значением -8, длиной слова 4 и длиной дроби 0. Затем отобразите двоичное значение объекта.

a = fi(-8,1,4,0);
disp(bin(a))
1000

Изменение a справа на 1 бит.

disp(bin(bitsra(a,1)))
1100

bitsra сдвигает MSB в положение бита, который он сдвигает вправо.

Использовать bitsra для смещения int8 введите справа на 2 бита.

a = int8(64);
bitsra(a,2)
ans = int8
    16

Переместите вправо встроенный int8 ввод с использованием fi значение сдвига.

k = fi(2);
a = int8(64);
bitsra(a,k)
ans = int8
    16

Масштабирование плавающей точки double вход 2-3.

a = double(128);
bitsra(a,3)
ans = 16

Входные аргументы

свернуть все

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

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

Поддержка комплексного номера: Да

Число битов для сдвига, указанное как неотрицательный целочисленный скаляр fi объект или встроенный числовой тип.

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

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

..

См. также

| | |

Представлен в R2007b