bitxor
Bit-wise XOR
Description
Examples
Create a truth table for the logical XOR operation.
A = uint8([0 1; 0 1]); B = uint8([0 0; 1 1]); TTable = bitxor(A, B)
TTable = 2×2 uint8 matrix
0 1
1 0
bitxor
returns 0 if both bit-wise inputs are equal.
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 XOR of -5 (11111011
) and 6 (00000110
) is -3 (11111101
).
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 = bitxor(a,b,'int8')
c = -3
bitget(c,8:-1:1,'int8')
ans = 1×8
1 1 1 1 1 1 0 1
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.
bitxor
is an instance method for MATLAB enumeration
objects created from a .NET enumeration.
Output Arguments
Bit-wise XOR 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 XOR 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 bitxor
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.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- 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)