bitor

Описание

пример

C = bitor(A,B) возвращает двоичное значение OR A и B.

пример

C = bitor(A,B,assumedtype) принимает, что A и B имеют assumedtype.

objout = bitor(netobj1,netobj2) возвращает двоичное значение OR объектов перечисления .NET netobj1 и netobj2.

Примеры

свернуть все

Составьте таблицу истинности для логической операции OR.

A = uint8([0 1; 0 1]);
B = uint8([0 0; 1 1]);
TTable = bitor(A, B)
TTable = 2x2 uint8 matrix

   0   1
   1   1

bitor возвращает 1, если любой из битовых входов равен 1.

MATLAB ® кодирует отрицательные целые числа, используя дополнение двух. Например, чтобы найти представление дополнения двух аргументов -5, вы принимаете битовый шаблон положительной версии числа (00000101), меняйте каждый бит (11111010), а затем добавить 1 к результату (11111011).

Поэтому битовый OR -5 (11111011) и 6 (00000110) -1 (11111111).

a = -5;
bitget(a,8:-1:1,'int8')
ans = 1×8

     1     1     1     1     1     0     1     1

b = 6;
bitget(b,8:-1:1,'int8')
ans = 1×8

     0     0     0     0     0     1     1     0

c = bitor(a,b,'int8')
c = -1
bitget(c,8:-1:1,'int8')
ans = 1×8

     1     1     1     1     1     1     1     1

Использование bitor и bitshift чтобы упаковать четыре 8-битных байта в 32-битное целое число, которое они составляют.

Создайте четыре байта данных. Задайте данные с шестнадцатеричными литералами, используя -u32 суффикс, чтобы указать, что данные должны храниться как uint32. Каждый байт содержит данные на 8 бит.

byte4 = 0x87u32; 
byte3 = 0x65u32; 
byte2 = 0x43u32; 
byte1 = 0x21u32;

Начните, добавив первый байт в качестве первых 8 бит 32-битного беззнакового целого числа.

packedNum = byte1;

Затем упакуйте три других байта в packedNum, использование bitshift переместить байты в соответствующие местоположения и bitor чтобы скопировать биты.

packedNum = bitor(packedNum,bitshift(byte2,8));
packedNum = bitor(packedNum,bitshift(byte3,8*2));
packedNum = bitor(packedNum,bitshift(byte4,8*3));

Просмотрите упакованное 32-битное целое число.

format hex
packedNum
packedNum = uint32
   87654321

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

свернуть все

Входные значения, заданные как скаляры, векторы, матрицы или многомерные массивы. Входные параметры A и B должен быть либо одинаковым размером, либо иметь совместимые размеры (для примера, A является M-by- N матрица и B является скаляром или 1-by- N вектор-строка). Для получения дополнительной информации см. «Совместимые размеры массивов для основных операций». A и B также должны быть совпадающими типами данных, если только один не является скалярным двойным.

  • Если A и B являются двойными массивами и assumedtype не задан, тогда MATLAB® лечит A и B как беззнаковые 64-битные целые числа.

  • Если assumedtype задается, затем все элементы в A и B должны иметь целочисленные значения в области значений assumedtype.

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

Предполагаемый тип данных A и B, заданный как 'uint64', 'uint32', 'uint16', 'uint8', 'int64', 'int32', 'int16', или 'int8'.

  • Если A и B являются двойными массивами, тогда assumedtype может задать любой допустимый целый тип, но по умолчанию равен 'uint64'.

  • Если A и B являются целыми типами, затем assumedtype должен указать тот же целый тип.

Типы данных: char | string

Входные значения, заданные как объекты перечисления .NET. Необходимо запустить версию Windows® использовать объекты перечисления .NET в качестве входных параметров.

bitor является методом образца для объектов перечисления MATLAB, созданных из перечисления .NET.

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

свернуть все

Битовый результат OR, возвращенный как массив. C - тот совпадающий тип данных, что и A и B.

  • Если либо A или B является скалярным двойником, а другой - целым типом, то C - целый тип.

Битовый результат OR, возвращенный как объекты перечисления .NET.

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

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

.

Генерация кода GPU
Сгенерируйте код CUDA ® для графических процессоров NVIDIA ® с помощью GPU Coder™

.

Генерация HDL-кода
Сгенерируйте Verilog и VHDL код для FPGA и ASIC проектов с использованием HDL- Coder™.

Представлено до R2006a