Main Content

dec2bin

Convert decimal integer to its binary representation

Description

binStr = dec2bin(D) returns the binary, or base-2, representation of the decimal integer 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.

example

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

example

Examples

collapse all

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

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

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

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

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 = 
'10111'

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
    '1111111111'
    '0001111010'
    '0000001110'

Since all rows of a character array must have the same number of characters, dec2bin pads some rows of binStr. 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'.

Starting in R2020a, the dec2bin function converts negative numbers using their two's complement binary values.

For example, these calls to dec2bin convert negative numbers.

dec2bin(-1)
ans = 
'11111111'
dec2bin(-16)
ans = 
'11110000'

Input Arguments

collapse all

Input array, specified as a numeric array, char array, or logical array.

  • 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.

Since R2020a

D can include negative numbers. The function converts negative numbers using their two's complement binary values.

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

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

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

    D >= 0

    Pads with leading zeros

    D < 0

    Pads with leading ones (since R2020b)

  • 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.

Tips

  • 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

Version History

Introduced before R2006a

expand all