# Program to convert decimal to binary in C++

Written by

Given a decimal number, we have to write a program to calculate its binary equivalent.

**# Approaching the problem**

To calculate binary equivalent of any decimal number, we divide it by 2 and store the remainder till the number becomes either 1 or 0 and then we write all the remainder in the opposite order of how they were obtained.

2 | 13 | 1 |

2 | 6 | 0 |

2 | 3 | 1 |

1 |

1310=11012

To implement this, we will initialize an array to store the remainder and keep dividing the number by 2, Then we will print the array in the reverse order.

**# Algorithm**

- Input the decimal number and store it in
*dec*. - Initialize an array
*bin*of size 16 (binary equivalent of -32768 has 16 digits which is the max limit of int). - Divide
*dec*by 2 and store the remainder in the array. - Set
*dec*to the quotient. - Repeat the above two steps till the number is greater than zero.
- Print the array in the reverse order and that is the binary equivalent.

**Code**

`#include <iostream> using namespace std;`

int main()

{

`int dec, bin[16], i = 0, j = 0; //dec and bin to store number and ints binary equivalent and i&j are //for index maintaining cout << "Enter a decimal number\n"; cin >> dec; while (dec > 0) //calculating the binary equivalent and storing it in the array { bin[i] = dec % 2; dec = dec / 2; ++i; } cout << "Binary Equivalent:"; //printing the array in reverse order for (j = i - 1; j >= 0; --j) cout << bin[j]; return 0;`

`}`

**Output**

`Enter a decimal number 13`

`Binary Equivalent:1101`