de2bi

Convert decimal numbers to binary vectors

Syntax

b = de2bi(d)
b = de2bi(d,n)
b = de2bi(d,n,p)
b = de2bi(d,[],p)
b = de2bi(d,...,flg)

Description

b = de2bi(d) converts a nonnegative decimal integer d to a binary row vector. If d is a vector, the output b is a matrix in which each row is the binary form of the corresponding element in d.

b = de2bi(d,n) has an output with n columns.

b = de2bi(d,n,p) converts a nonnegative decimal integer d to a base-p row vector.

b = de2bi(d,[],p) specifies the base, p .

b = de2bi(d,...,flg) uses flg to determine whether the first column of b contains the lowest-order or highest-order digits.

Input Arguments

collapse all

Decimal input which can be a scalar, vector, or matrix. Specify elements as nonnegative integers. If d is a matrix, it is treated like the column vector d(:).

Example: 4

Example: [10; 5]

Note

To ensure an accurate conversion, d must be less than or equal to 252.

The number of output columns specified as a positive scalar. If necessary, the binary representation of d is padded with extra zeros.

Example: 3

An integer that specifies the base of the output b. Specify as an integer greater than or equal to 2. The first column of b is the lowest base-p digit. The output is padded with extra zeros if necessary so that it has n columns. If d is a nonnegative decimal vector, the output b is a matrix in which each row is the base-p form of the corresponding element in d. If d is a matrix, de2bi treats it like the vector d(:).

Example: 8

Character vector that determines whether the first column of b contains the lowest-order or highest-order digits. If omitted, de2bi assumes 'right-msb'.

Output Arguments

collapse all

Binary representation of d in the form of a row vector or matrix.

Examples

collapse all

Convert decimals 1 through 10 into their equivalent binary representations.

d = (1:10)';
b = de2bi(d);
[d b]
ans = 10×5

     1     1     0     0     0
     2     0     1     0     0
     3     1     1     0     0
     4     0     0     1     0
     5     1     0     1     0
     6     0     1     1     0
     7     1     1     1     0
     8     0     0     0     1
     9     1     0     0     1
    10     0     1     0     1

Convert 3 and 9 into binary numbers. Each value is represented by a four-element row.

b = de2bi([3 9])
b = 2×4

     1     1     0     0
     1     0     0     1

Repeat the conversion with the number of columns set to 5. The output is now padded with zeros in the fifth column.

bb = de2bi([3 9],5)
bb = 2×5

     1     1     0     0     0
     1     0     0     1     0

Convert the decimals 1 through 6 to their base 3 equivalents. Set the leftmost bit as the most significant digit.

d = (1:6)';
t = de2bi(d,[],3,'left-msb');
[d t]
ans = 6×3

     1     0     1
     2     0     2
     3     1     0
     4     1     1
     5     1     2
     6     2     0

Extended Capabilities

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

See Also

Introduced before R2006a