Convert decimal number to character array representing binary number



binStr = dec2bin(D) returns the binary, or base-2, representation of the number D. The output argument binStr is a character vector that represents binary digits using the characters '0' and '1'.

If D is a numeric vector, matrix, or multidimensional array, then binStr is a two-dimensional character array. Each row of binStr represents an element of D.


binStr = dec2bin(D,minDigits) returns a binary representation with no fewer than minDigits digits.


collapse all

Convert a decimal number to a character vector that represents its binary value.

D = 23;
binStr = dec2bin(D)
binStr = 

Specify the number of binary digits that dec2bin returns. If you specify more digits are required, then dec2bin pads the output with leading zeros.

D = 23;
binStr = dec2bin(D,8)
binStr = 

If you specify fewer digits, then dec2bin still returns as many binary digits as required to represent the input number.

binStr = dec2bin(D,1)
binStr = 

Create a numeric array.

D = [1023 122 14];

To represent the elements of D as binary values, use the dec2bin function. Each row of binStr corresponds to an element of D.

binStr = dec2bin(D)
binStr = 3x10 char array

Since all rows of a character array must have the same number of characters, dec2bin pads some rows of binStr with leading zeros. For example, the number 14 can be represented by the binary digits '1110'. But to match the length of the first row of binStr, the dec2bin function pads the third row to '0000001110'.

Input Arguments

collapse all

Input array, specified as an array of nonnegative numbers.

  • If D is an array of floating-point numbers, and any element of D has a fractional part, then dec2bin truncates it before conversion. For example, dec2bin converts both 12 and 12.5 to '1100'. The truncation is always to the nearest integer less than or equal to that element.

  • If D is a character or logical array, then dec2bin treats the elements of D as integers. However, dec2bin treats characters as their Unicode® values, so specifying D as a character array is not recommended.

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

Minimum number of digits in the output, specified as an integer.

  • If D can be represented with fewer than minDigits binary digits, then dec2bin pads the output with leading zeros.

  • If D is so large that it must be represented with more than minDigits digits, then dec2bin returns the output with as many digits as required.


  • If the input argument D has a value greater than the value returned by flintmax, then dec2bin might not return an exact representation.

  • The output of dec2bin is the same whether your computer stores values in memory using big-endian or little-endian format. For more information on these formats, see Endianness.

Extended Capabilities

Introduced before R2006a