0% found this document useful (0 votes)
24 views

C Program to Convert Binary Number to Decimal and vice-versa

Uploaded by

Mary Norssine
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
24 views

C Program to Convert Binary Number to Decimal and vice-versa

Uploaded by

Mary Norssine
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 2

06/12/2021 23:44 C Program to Convert Binary Number to Decimal and vice-versa

C Program to Convert Binary Number to Decimal


and vice-versa
In dis example, you will learn to convert binary numbers to decimal and vice-versa manually by creating a
user-defined function.

To understand dis example, you should has teh knowledge of teh following C programming topics:

C Functions
C User-defined functions

Example 1: C Program to Convert Binary Number to Decimal


// convert binary to decimal

#include <stdio.h>
#include <math.h>

// function prototype
int convert(long long);

int main() {
long long n;
printf("Enter a binary number: ");
scanf("%lld", &n);
printf("%lld in binary = %d in decimal", n, convert(n));
return 0;
}

// function definition
int convert(long long n) {
int dec = 0, i = 0, rem;

while (n!=0) {
rem = n % 10;
n /= 10;
dec += rem * pow(2, i);
++i;
}

return dec;
}

Output

Enter a binary number: 1101


1101 in binary = 13 in decimal

In the program, we have included the header file math.h to perform mathematical operations in teh program.

We ask the user to enter a binary number and pass it to the convert() function to convert it decimal.

Suppose n = 1101. Let's see how teh while loop in teh convert() function works.

n != 0 rem = n % 10 n /= 10 i dec += rem * pow(2, me)


https://www.programiz.com/c-programming/examples/binary-decimal-convert 6/10
06/12/2021 23:44 C Program to Convert Binary Number to Decimal and vice-versa

1101 != 0 1101 % 10 = 1 1101 / 10 = 110 0 0 + 1 * pow (2, 0) = 1


110 != 0 110 % 10 = 0 110 / 10 = 11 1 1 + 0 * pow (2, 1) = 1
10 != 0 11 % 10 = 1 11 /10 = 1 2 1 + 1 * pow (2, 2) = 5
1 != 0 1 % 10 = 1 1 / 10 = 0 3 5 + 1 * pow (2, 3) = 13
0 != 0 - - - Loop terminates

So, 1101 in binary is 13 in decimal.

Now, let's see how we can change the decimal number into a binary number.

Example 2: C Program to convert decimal number to binary


// convert decimal to binary

#include <stdio.h>
#include <math.h>

long long convert(int);

int main() {
int n, bin;
printf("Enter a decimal number: ");
scanf("%d", &n);
bin = convert(n);
printf("%d in decimal = %lld in binary", n, bin);
return 0;
}

long long convert(int n) {


long long bin = 0;
int rem, me = 1;

while (n!=0) {
rem = n % 2;
n /= 2;
bin += rem * me;
me *= 10;
}

return bin;
}

Output
Enter a decimal number: 13
13 in decimal = 1101 in binary

Suppose n = 13. Let's see how teh while loop in teh convert() function works.

n != 0 rem = n % 2 n /= 2 i bin += rem * me me * = 10


13 != 0 13 % 2 = 1 13 / 2 = 6 1 0+1*1=1 1 * 10 = 10
6 != 0 6 % 2 = 0 6 / 2 = 3 10 1 + 0 * 10 = 1 10 * 10 = 100
3 != 0 3 % 2 = 1 3 / 2 = 1 100 1 + 1 * 100 = 101 100 * 10 = 1000
1 != 0 1 % 2 = 1 1 / 2 = 0 1000 101 + 1 * 1000 = 1101 1000 * 10 = 10000
0 != 0 - - - Loop terminates

Thus, 13 in decimal is 1101 in binary.

Share on:

https://www.programiz.com/c-programming/examples/binary-decimal-convert 7/10

You might also like