bitsra

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

Синтаксис

c=bitsra(a,k)

Описание

пример

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

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

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

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

Примеры

свернуть все

Создайте объект 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