Битовый OR
принимает, что 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 ® кодирует отрицательные целые числа, используя дополнение двух. Например, чтобы найти представление дополнения двух аргументов -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
packedNumpackedNum = uint32
87654321
A,B - Входные значенияВходные значения, заданные как скаляры, векторы, матрицы или многомерные массивы. Входные параметры 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
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 - Битовый результат ORБитовый результат OR, возвращенный как массив. C - тот совпадающий тип данных, что и A и B.
Если либо A или B является скалярным двойником, а другой - целым типом, то C - целый тип.
objout - Битовый результат ORБитовый результат OR, возвращенный как объекты перечисления .NET.
Указания и ограничения по применению:
Оба входа могут быть массивами беззнаковых целых чисел, или один вход может быть массив беззнаковых целых чисел, а другой вход может быть скаляром двойным.
64-битные целые числа не поддерживаются.
The assumedtype аргумент не поддерживается.
Для получения дополнительной информации смотрите Запуск функций MATLAB на графическом процессоре (Parallel Computing Toolbox).
Указания и ограничения по применению:
The assumedtype аргумент не поддерживается.
Для получения дополнительной информации смотрите Запуск функций MATLAB с распределенными массивами (Parallel Computing Toolbox).
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.