Main Content


Bit-wise complement



cmp = bitcmp(A) returns the bit-wise complement of A.


cmp = bitcmp(A,assumedtype) assumes that A is of assumedtype.


collapse all

A = int8(-11);
cmp = bitcmp(A)
cmp = int8

You can see the complement operation when the numbers are shown in binary.

original = bitget(A,8:-1:1)
original = 1x8 int8 row vector

   1   1   1   1   0   1   0   1

complement = bitget(bitcmp(A),8:-1:1)
complement = 1x8 int8 row vector

   0   0   0   0   1   0   1   0

cmp = bitcmp(64,'uint8')
cmp = 191
maxint = intmax('uint8') - 64
maxint = uint8

The complement of an unsigned integer is equal to itself subtracted from the maximum integer of its data type.

Input Arguments

collapse all

Input value, specified as a signed integer array, unsigned integer array, or double array.

  • If A is a double array, and assumedtype is not specified, then MATLAB® treats A as an unsigned 64-bit integer.

  • If assumedtype is specified, then all elements in A must have integer values within the range of assumedtype.

Data Types: double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Assumed data type of A, specified as 'uint64', 'uint32', 'uint16', 'uint8', 'int64', 'int32', 'int16', or 'int8'.

  • If A is a double array, then assumedtype can specify any valid integer type, but defaults to 'uint64'.

  • If A is an integer type array, then assumedtype must specify that same integer type.

Data Types: char | string

Output Arguments

collapse all

Bit-wise complement, returned as a signed integer array, unsigned integer array, or double array. cmp is the same size and type as A.

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™.

Version History

Introduced before R2006a