# C Programming (Turbo C++ Compiler) Decimal to Binary Conversion

Lets try writing a C program to convert a decimal number to integer with out using any string functions. The key here is the number you are going to convert will be in decimal number only even it is a binary number representing 0s and 1s.

If we have to Convert Decimal Number 5 to a binary number, then output will be 101 in decimal form only.

If we have to Convert Decimal Number 10 to a binary number, then output will be 1010 in decimal form only.

It is not that difficult since the coding for the core logic will be just 6 lines. Refer to the function int ConvertDecimal2Binary(int dec).

The complete program and test run output are given below:

## Source Code

#include <stdio.h>

#include <conio.h>

long ConvertDecimal2Binary(long dec)

{

long bin = 0, pos = 1;

while(dec > 0)

{

bin = bin + (dec % 2) * pos;

dec = dec / 2;

pos *= 10;

}

return bin;

}

int main()

{

for(long i = 0; i < 128; i++)

{

if(i > 16)

i += 7;

printf("\n%3ld = %08ld", i, ConvertDecimal2Binary(i));

}

printf("\n\n");

return 0;

}

0 = 00000000

1 = 00000001

2 = 00000010

3 = 00000011

4 = 00000100

5 = 00000101

6 = 00000110

7 = 00000111

8 = 00001000

9 = 00001001

10 = 00001010

11 = 00001011

12 = 00001100

13 = 00001101

14 = 00001110

15 = 00001111

16 = 00010000

24 = 00011000

32 = 00100000

40 = 00101000

48 = 00110000

56 = 00111000

64 = 01000000

72 = 01001000

80 = 01010000

88 = 01011000

96 = 01100000

104 = 01101000

112 = 01110000

120 = 01111000

128 = 10000000