Main Content

int2bit

Convert integers to bits

Description

example

Y = int2bit(X,n) converts each integer element in X to n column-wise bits in Y, with the first bit as the most significant bit (MSB).

example

Y = int2bit(X,n,msbfirst) indicates whether the first bits in each set of n column-wise bits from Y is MSB or the least significant bit (LSB).

Examples

collapse all

Specify a row vector of integers.

X = [12 5]
X = 1×2

    12     5

Specify for four column-wise bit elements for the converted output. Then, convert the integers to bits.

n = 4;
Y = int2bit(X,n)
Y = 4×2

     1     0
     1     1
     0     0
     0     1

Specify a matrix of integers.

X = int8([10 6 14; 11 5 9])
X = 2x3 int8 matrix

   10    6   14
   11    5    9

Specify that the first bit in each set of four column-wise bit elements for the output is LSB. Then, convert the integers to bits.

n = 4;
msbfirst = false;
Y = int2bit(X,n,msbfirst)
Y = 8x3 int8 matrix

   0   0   0
   1   1   1
   0   1   1
   1   0   1
   1   1   1
   1   0   0
   0   1   0
   1   0   1

Specify an array of integers.

X = randi([0,9],4,3,2,'uint16')
X = 4x3x2 uint16 array
X(:,:,1) =

   8   6   9
   9   0   9
   1   2   1
   9   5   9


X(:,:,2) =

   9   4   6
   4   9   0
   8   7   8
   1   9   9

Specify for three column-wise bit elements for the converted output. Then, convert the integers to bits.

n = 3;
Y = int2bit(X,n)
Y = 12x3x2 uint8 array
Y(:,:,1) =

   0   1   0
   0   1   0
   0   0   1
   0   0   0
   0   0   0
   1   0   1
   0   0   0
   0   1   0
   1   0   1
   0   1   0
   0   0   0
   1   1   1


Y(:,:,2) =

   0   1   1
   0   0   1
   1   0   0
   1   0   0
   0   0   0
   0   1   0
   0   1   0
   0   1   0
   0   1   0
   0   0   0
   0   0   0
   1   1   1

Input Arguments

collapse all

Integers, specified as a scalar, vector, matrix, or 3-D array of nonnegative integer values.

Example: [10 2] specifies an input row vector of size 1-by-2.

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

The number of bits for conversion to bits, specified as a positive integer.

Data Types: double

Specification of MSB first, specified as a numeric or logical 1 (true) or 0 (false).

  • true –– For each set of n column-wise bits in X, the first bit is the MSB.

  • false –– For each set of n column-wise bits in X, the first bit is the LSB.

Data Types: logical

Output Arguments

collapse all

Bit representation of input integers, returned as a column vector, matrix, or 3-D array. Y has the same dimensions as X except that the number of rows in Y is n times the number of rows in X. The output Y consists of n least significant bits in the specified orientation. If n is less than the number of required bits to represent the values in X, then the output Y consists of n least significant bits.

The data type of Y depends on the data type of X.

  • If X is a floating-point data type, then Y is a floating-point data type.

  • If X is a built-in unsigned integer data type, then Y is of data type uint8.

  • If X is a built-in signed integer data type, then Y is of data type int8.

  • If X is of data type double, then Y is of data type double with n no larger than 53.

  • If X is of data type single, then Y is of data type single with n no larger than 24.

Extended Capabilities

C/C++ Code Generation
Generate C and C++ code using MATLAB® Coder™.

See Also

Functions

Blocks

Introduced in R2021b