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