bitorreduce

Уменьшайте последовательный срез битов к одному биту путем выполнения поразрядного OR операция

Описание

пример

c = bitorreduce(a) выполняет поразрядный OR операция на целом наборе битов во входе фиксированной точки, a, и возвращает результат как беззнаковое целое размера слова 1.

пример

c = bitorreduce(a, lidx) выполняет поразрядный OR операция на последовательной области значений битов, запускающихся в положении lidx и окончание в LSB (бит в положении 1).

пример

c = bitorreduce(a, lidx, ridx) выполняет поразрядный OR операция на последовательной области значений битов, запускающихся в положении lidx и окончание в положении ridx.

bitorreduce аргументы должны удовлетворить следующему условию:

a.WordLength >= lidx >= ridx >= 1

Примеры

свернуть все

Создайте номер фиксированной точки.

a = fi(73,0,8,0);
disp(bin(a))
01001001

Выполните поразрядный OR операция на целом наборе битов в a.

c = bitorreduce(a)
c = 
     1

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Unsigned
            WordLength: 1
        FractionLength: 0

Поскольку существует по крайней мере один бит в a со значением 1, выход имеет значение 1.

Создайте вектор фиксированной точки.

a=fi([12,4,8,15],0,8,0);
disp(bin(a))
00001100   00000100   00001000   00001111

Выполните поразрядный OR операция на битах каждого элемента a, запуск в положении fi(4).

c=bitorreduce(a,fi(4))
c=1×4 object
     1     1     1     1

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Unsigned
            WordLength: 1
        FractionLength: 0

Все записи выхода c имейте значение 1 потому что все записи a имейте по крайней мере один бит со значением 1 между положениями fi(4) и 1.

Создайте матрицу фиксированной точки.

a = fi([7,8,1;5,9,5;8,37,2],0,8,0);
disp(bin(a))
00000111   00001000   00000001
00000101   00001001   00000101
00001000   00100101   00000010

Выполните поразрядный OR операция на битах каждого элемента матричного a начало в положении 5 и окончание в положении 2.

c = bitorreduce(a,5,2)
c=3×3 object
     1     1     0
     1     1     1
     1     1     1

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Unsigned
            WordLength: 1
        FractionLength: 0

В выходе c существует только один элемент это не имеет значения 1. Это условие происходит потому что соответствующий элемент в a единственный элемент a это не имеет никаких битов со значением 1 между положениями 5 и 2.

Входные параметры

свернуть все

Входной массив, заданный как скаляр, вектор, матрица или многомерный массив фиксированной точки fi объекты.

bitorreduce поддержки и подписанные и входные параметры без знака с произвольным масштабированием. Знак и масштабирующиеся свойства не влияют на тип результата и значение. bitorreduce выполняет операцию на дополнительном битном представлении two сохраненного целого числа.

Типы данных: фиксированная точка fi

Запустите положение диапазона, указанного как скаляр встроенного типа. lidx представляет положение в области значений, самой близкой к MSB.

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

Конечное положение диапазона, указанного как скаляр встроенного типа. ridx представляет положение в области значений, самой близкой к LSB (бит в положении 1).

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

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

свернуть все

Выходной массив, заданный как скаляр, вектор, матрица или многомерный массив фиксированной точки fi объекты. c без знака с размером слова 1.

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

Генерация кода C/C++
Генерация кода C и C++ с помощью MATLAB® Coder™.

Смотрите также

| | |

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