C Program to Convert Binary to Decimal

C Program to Convert Binary to Decimal

C program to convert binary to decimal; Through this tutorial, we will learn how to convert binary number to decimal number in c program using for loop, while loop, function, and recursion.

Algorithm to Convert Binary to Decimal

Use the following algorithm to write a program to convert binary number to decimal number; as follows:

  • Step 1: Start
  • Step 2: Read the binary number from the user, say ‘n’
  • Step 3: Initialize the decimal number, d=0
  • Step 4: Initialize i=0
  • Step 5: Repeat while n != 0:
    • Step 5.1: Extract the last digit by: remainder = n % 10
    • Step 5.2: n = n/10
    • Step 5.3: d = d + (remainder * 2i)
    • Step 5.4: Increment i by 1
  • Step 6: Display the decimal number, d
  • Step 7: Stop

Programs to Convert Binary to Decimal in C

  • C Program to Convert Binary to Decimal using While Loop
  • C Program to Convert Binary to Decimal using For Loop
  • C Program to Convert Binary to Decimal using Function
  • C Program to Convert Binary to Decimal using Recursion

C Program to Convert Binary to Decimal using While Loop

#include <stdio.h>

int main()
{
    int binary, decimal = 0, base = 1, remainder;
    
    printf("Enter the Binary Number = ");
    scanf("%d", &binary);

    int temp = binary;
    while(temp > 0)
    {
        remainder = temp % 10;
        decimal = decimal + remainder * base;
        temp = temp / 10;
        base = base * 2;
    }

    printf("The Binary Value  = %d\n", binary);
    printf("The Decimal Value = %d\n", decimal);

    return 0;
}

The output of the above c program; as follows:

Enter the Binary Number = 1101
The Binary Value  = 1101
The Decimal Value = 13

C Program to Convert Binary to Decimal using For Loop

#include <stdio.h>

int main()
{
    int binary, decimal = 0, base = 1, remainder, temp;
    
    printf("Enter the Binary Number = ");
    scanf("%d", &binary);

   for(temp = binary; temp > 0; temp = temp / 10)
    {
        remainder = temp % 10;
        decimal = decimal + remainder * base;
        base = base * 2;
    }

    printf("The Binary Value  = %d\n", binary);
    printf("The Decimal Value = %d\n", decimal); 

    return 0;
}

The output of the above c program; as follows:

Enter the Binary Number = 110101
The Binary Value  = 110101
The Decimal Value = 53

C Program to Convert Binary to Decimal using Function

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

int binaryToDecimal(int binary)
{
    int decimal = 0, i = 0, remainder;

    while(binary != 0)
    {
         remainder = binary % 10;
         decimal = decimal + (remainder * pow(2, i));
         binary = binary / 10;
         ++i;
    }
    return decimal;
}

int main()
{
    int binary, decimal;
    
    printf("Enter the Binary Number = ");
    scanf("%d", &binary);

    decimal = binaryToDecimal(binary);

    printf("The Binary Value  = %d\n", binary);
    printf("The Decimal Value = %d\n", decimal); 

    return 0;
}

The output of the above c program; as follows:

Enter the Binary Number = 010101
The Binary Value  = 10101
The Decimal Value = 21

C Program to Convert Binary to Decimal using Recursion

#include<stdio.h>
int BinaryToDecimal(int n)
{
    if(n==0)
        return 0;
    else
        return (n% 10 + 2* BinaryToDecimal(n / 10));
}
int main()
{
    int n;
    printf("Enter the Binary Value:");
    scanf("%d",&n);
    printf("Decimal Value of Binary number is: %d",BinaryToDecimal(n));
}

The output of the above c program; as follows:

Enter the Binary Value:1101
Decimal Value of Binary number is: 13

Recommended C Programs

AuthorAdmin

My name is Devendra Dode. I am a full-stack developer, entrepreneur, and owner of Tutsmake.com. I like writing tutorials and tips that can help other developers. I share tutorials of PHP, Python, Javascript, JQuery, Laravel, Livewire, Codeigniter, Node JS, Express JS, Vue JS, Angular JS, React Js, MySQL, MongoDB, REST APIs, Windows, Xampp, Linux, Ubuntu, Amazon AWS, Composer, SEO, WordPress, SSL and Bootstrap from a starting stage. As well as demo example.

Leave a Reply

Your email address will not be published. Required fields are marked *