Main Content

# dec2bin

Convert decimal integer to its binary representation

## Syntax

``binStr = dec2bin(D)``
``binStr = dec2bin(D,minDigits)``

## Description

example

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

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

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

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

 `D >= 0` Pads with leading zeroes `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.

## See Also

### External Websites

Introduced before R2006a

Download ebook