Bit-wise XOR
collapse all in page
Syntax
C = bitxor(A,B)
C = bitxor(A,B,assumedtype)
objout = bitxor(netobj1,netobj2)
Description
example
C = bitxor(A,B)
returnsthe bit-wise XOR of A
and B
.
example
C = bitxor(A,B,assumedtype)
assumesthat A
and B
are of assumedtype
.
objout = bitxor(netobj1,netobj2)
returnsthe bit-wise XOR of the .NET enumeration objects netobj1
and netobj2
.
Examples
collapse all
Truth Table
Open Live Script
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 = 2x2 uint8 matrix 0 1 1 0
bitxor
returns 0 if both bit-wise inputs are equal.
Negative Values
Open Live Script
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
collapse all
A,B
— Input values
scalars | vectors | matrices | multidimensional arrays
Input values, specified as scalars, vectors, matrices, or multidimensionalarrays. Inputs A
and B
musteither be the same size or have sizes that are compatible (for example, A
isan M
-by-N
matrix and B
isa scalar or 1
-by-N
row vector).For more information, see Compatible Array Sizes for Basic Operations. A
and B
alsomust be the same data type unless one is a scalar double.
If
A
andB
aredouble arrays, andassumedtype
is not specified,then MATLAB® treatsA
andB
asunsigned 64-bit integers.If
assumedtype
is specified, thenall elements inA
andB
musthave integer values within the range ofassumedtype
.
Data Types: double
| logical
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
assumedtype
— Assumed data type of A
and B
'uint64'
| 'uint32'
| 'uint16'
| 'uint8'
| 'int64'
| 'int32'
| 'int16'
| 'int8'
Assumed data type of A
and B
,specified as 'uint64'
, 'uint32'
, 'uint16'
, 'uint8'
, 'int64'
, 'int32'
, 'int16'
,or 'int8'
.
If
A
andB
aredouble arrays, thenassumedtype
can specify anyvalid integer type, but defaults to'uint64'
.If
A
andB
areinteger type arrays, thenassumedtype
must specifythat same integer type.
Data Types: char
| string
netobj1
, netobj2
— Input values
.NET enumeration objects
Input values, specified as .NET enumeration objects. You mustbe running a version of Windows® touse .NET enumeration objects as input arguments.
bitxor
is an instance method for MATLAB enumerationobjects created from a .NET enumeration.
Output Arguments
collapse all
C
— Bit-wise XOR result
array
Bit-wise XOR result, returned as an array. C
isthe same data type as A
and B
.
If either
A
orB
isa scalar double, and the other is an integer type, thenC
isthe integer type.
objout
— Bit-wise XOR result
.NET enumeration object
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™.
Thread-Based Environment
Run code in the background using MATLAB® backgroundPool
or accelerate code with Parallel Computing Toolbox™ ThreadPool
.
This function fully supports thread-based environments. For more information, see Run MATLAB Functions in Thread-Based Environment.
GPU Arrays
Accelerate code by running on a graphics processing unit (GPU) using Parallel Computing Toolbox™.
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).
Distributed Arrays
Partition large arrays across the combined memory of your cluster using 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
See Also
bitand | bitcmp | bitget | bitor | bitnot | bitshift | bitset | intmax
Topics
- Creating .NET Enumeration Bit Flags
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:
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
- Deutsch
- English
- Français
- United Kingdom (English)
Contact your local office