Main Content




C = bitand(A,B) returns the bit-wise AND of A and B.


C = bitand(A,B,assumedtype) assumes that A and B are of assumedtype.

objout = bitand(netobj1,netobj2) returns the bit-wise AND of the .NET enumeration objects netobj1 and netobj2.


collapse all

Create a truth table for the logical AND operation.

A = uint8([0 1; 0 1]);
B = uint8([0 0; 1 1]);
TTable = bitand(A, B)
TTable = 2x2 uint8 matrix

   0   0
   0   1

bitand returns 1 only if both bit-wise inputs are 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 AND of -5 (11111011) and 6 (00000110) is 2 (00000010).

a = -5;
ans = 1×8

     1     1     1     1     1     0     1     1

b = 6;
ans = 1×8

     0     0     0     0     0     1     1     0

c = bitand(a,b,'int8')
c = 2
ans = 1×8

     0     0     0     0     0     0     1     0

Input Arguments

collapse all

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 and B are double arrays, and assumedtype is not specified, then MATLAB® treats A and B as unsigned 64-bit integers.

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

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 and B are double arrays, then assumedtype can specify any valid integer type, but defaults to 'uint64'.

  • If A and B are integer type arrays, then assumedtype 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.

bitand is an instance method for MATLAB enumeration objects created from a .NET enumeration.

Output Arguments

collapse all

Bit-wise AND result, returned as an array. C is the same data type as A and B.

  • If either A or B is a scalar double, and the other is an integer type, then C is the integer type.

Bit-wise AND 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 Verilog and VHDL code for FPGA and ASIC designs using HDL Coder™.

Introduced before R2006a