bitor
Bit-wise OR
Description
Examples
Create a truth table for the logical OR operation.
A = uint8([0 1; 0 1]); B = uint8([0 0; 1 1]); TTable = bitor(A, B)
TTable = 2×2 uint8 matrix
0 1
1 1
bitor
returns 1 if either bit-wise input is 1.
MATLAB® encodes negative integers using two's complement. For example, to find the two's complement representation of -5, you take the bit pattern of the positive version of the number (00000101
), swap each bit (11111010
), and then add 1 to the result (11111011
).
Therefore, the bit-wise OR of -5 (11111011
) and 6 (00000110
) is -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
Use bitor
and bitshift
to pack four 8-bit bytes into the 32-bit integer they make up.
Create four bytes of data. Specify the data with hexadecimal literals, using the -u32
suffix to specify that the data should be stored as uint32
. Each byte contains 8 bits worth of data.
byte4 = 0x87u32; byte3 = 0x65u32; byte2 = 0x43u32; byte1 = 0x21u32;
Start by adding the first byte as the first 8 bits of a 32-bit unsigned integer.
packedNum = byte1;
Next, pack the other three bytes into packedNum
, using bitshift
to shift the bytes to the proper locations, and bitor
to copy the bits over.
packedNum = bitor(packedNum,bitshift(byte2,8)); packedNum = bitor(packedNum,bitshift(byte3,8*2)); packedNum = bitor(packedNum,bitshift(byte4,8*3));
View the packed 32-bit integer.
format hex
packedNum
packedNum = uint32
87654321
Input Arguments
Input values, specified as scalars, vectors, matrices, or multidimensional
arrays. Inputs A
and B
must
either be the same size or have sizes that are compatible (for example, A
is
an M
-by-N
matrix and B
is
a scalar or 1
-by-N
row vector).
For more information, see Compatible Array Sizes for Basic Operations. A
and B
also
must be the same data type unless one is a scalar double.
If
A
andB
are double arrays, andassumedtype
is not specified, then MATLAB® treatsA
andB
as unsigned 64-bit integers.If
assumedtype
is specified, then all elements inA
andB
must have integer values within the range ofassumedtype
.
Data Types: double
| logical
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
Assumed data type of A
and B
,
specified as 'uint64'
, 'uint32'
, 'uint16'
, 'uint8'
, 'int64'
, 'int32'
, 'int16'
,
or 'int8'
.
If
A
andB
are double arrays, thenassumedtype
can specify any valid integer type, but defaults to'uint64'
.If
A
andB
are integer type arrays, thenassumedtype
must specify that same integer type.
Data Types: char
| string
Input values, specified as .NET enumeration objects. You must be running a version of Windows® to use .NET enumeration objects as input arguments.
bitor
is an instance method for MATLAB enumeration
objects created from a .NET enumeration.
Output Arguments
Bit-wise OR result, returned as an array. C
is
the same data type as A
and B
.
If either
A
orB
is a scalar double, and the other is an integer type, thenC
is the integer type.
Bit-wise OR result, returned as a .NET enumeration objects.
Extended Capabilities
C/C++ Code Generation
Generate C and C++ code using MATLAB® Coder™.
GPU Code Generation
Generate CUDA® code for NVIDIA® GPUs using GPU Coder™.
HDL Code Generation
Generate VHDL, Verilog and SystemVerilog code for FPGA and ASIC designs using HDL Coder™.
This function fully supports thread-based environments. For more information, see Run MATLAB Functions in Thread-Based Environment.
The bitor
function
supports GPU array input with these usage notes and limitations:
Both inputs can be unsigned integer arrays, or one input can be an unsigned integer array and the other input can be a scalar double.
64-bit integers are not supported.
The
assumedtype
argument is not supported.
For more information, see Run MATLAB Functions on a GPU (Parallel Computing Toolbox).
Usage notes and limitations:
The
assumedtype
argument is not supported.
For more information, see Run MATLAB Functions with Distributed Arrays (Parallel Computing Toolbox).
Version History
Introduced before R2006a
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Seleccione un país/idioma
Seleccione un país/idioma para obtener contenido traducido, si está disponible, y ver eventos y ofertas de productos y servicios locales. Según su ubicación geográfica, recomendamos que seleccione: .
También puede seleccionar uno de estos países/idiomas:
Cómo obtener el mejor rendimiento
Seleccione China (en idioma chino o inglés) para obtener el mejor rendimiento. Los sitios web de otros países no están optimizados para ser accedidos desde su ubicación geográfica.
América
- América Latina (Español)
- Canada (English)
- United States (English)
Europa
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)