Побитовое ИЛИ
принимает тот C
= bitor(A,B
,assumedtype
)A
и B
имеют assumedtype
.
Создайте таблицу истинности для логической операции 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® кодирует отрицательные целые числа с помощью дополнения two. Например, чтобы найти дополнительное представление two-5, вы берете комбинацию двоичных разрядов положительной версии номера (00000101
), подкачайте каждый бит (11111010
), и затем добавьте 1 к результату (11111011
).
Поэтому побитовое ИЛИ-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
и B
должен или быть одного размера или иметь размеры, которые совместимы (например, A
M
- N
матрица и B
скаляр или 1
- N
вектор-строка). Для получения дополнительной информации см. "Совместимые размеры массивов для основных операций". A
и B
также должен быть совпадающий тип данных, если каждый не скаляр дважды.
Если A
и B
удваивают массивы и assumedtype
не задан, затем MATLAB® обрабатывает A
и B
как 64-битные целые числа без знака.
Если assumedtype
задан, затем все элементы в A
и B
должен иметь целочисленные значения в области значений assumedtype
.
Типы данных: double |
logical
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
assumedtype
— Принятый тип данных integ1
и integ2
'uint64'
| 'uint32'
| 'uint16'
| 'uint8'
| 'int64'
| 'int32'
| 'int16'
| 'int8'
Принятый тип данных A
и B
В виде 'uint64'
uint32
uint16
uint8
int64
int32
int16
, или 'int8'
.
Если A
и B
удваивают массивы, затем assumedtype
может задать любой допустимый целочисленный тип, но значения по умолчанию к 'uint64'
.
Если A
и B
массивы целочисленного типа, затем assumedtype
должен задать тот же самый целочисленный тип.
Типы данных: char |
string
netobj1
, netobj2
— Входные значенияВходные значения в виде объектов перечисления.NET. Необходимо запускать версию Windows®, чтобы использовать объекты перечисления.NET в качестве входных параметров.
bitor
метод экземпляра для объектов перечисления MATLAB, созданных из перечисления.NET.
C
— Результат Побитового ИЛИРезультат Побитового ИЛИ, возвращенный как массив. C
совпадающий тип данных как A
и B
.
Если любой A
или B
скаляр дважды, и другой целочисленный тип, затем C
целочисленный тип.
objout
— Результат Побитового ИЛИРезультат Побитового ИЛИ, возвращенный как перечисление.NET, возражает.
Указания и ограничения по применению:
Оба входных параметров могут быть массивами беззнаковых целых чисел, или один вход может быть массивом беззнаковых целых чисел, и другой вход может быть скаляром дважды.
64-битные целые числа не поддерживаются.
assumedtype
аргумент не поддерживается.
Для получения дополнительной информации смотрите функции MATLAB Запуска на графическом процессоре (Parallel Computing Toolbox).
Указания и ограничения по применению:
assumedtype
аргумент не поддерживается.
Для получения дополнительной информации смотрите функции MATLAB Запуска с Распределенными Массивами (Parallel Computing Toolbox).
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.