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.