This C program converts a binary number to its decimal equivalent using the power of 2. It takes a binary number as input and returns the corresponding decimal number.

## Problem statement

Write a C program to convert a binary number to its decimal equivalent.

## C Program to Convert Binary to Decimal

#include <stdio.h> int binaryToDecimal(long long binaryNumber); int main() { long long binaryNumber; printf("Binary to Decimal Converter\n"); printf("Enter a binary number: "); scanf("%lld", &binaryNumber); int decimalNumber = binaryToDecimal(binaryNumber); printf("Decimal equivalent: %d\n", decimalNumber); return 0; } int binaryToDecimal(long long binaryNumber) { int decimalNumber = 0, i = 0, remainder; while (binaryNumber != 0) { remainder = binaryNumber % 10; binaryNumber /= 10; decimalNumber += remainder * (1 << i); ++i; } return decimalNumber; }

## How it works?

- The program prompts the user to enter a binary number.
- The
`binary To Decimal`

function is called, passing the binary number as an argument. - Inside the
`binary To Decimal`

function, the decimal number is initialized to 0, and`i`

(power of 2) is initialized to 0. - The binary number is processed digit by digit in a loop until it becomes 0.
- In each iteration, the rightmost digit (
`remainder`

) of the binary number is extracted using the modulus operator`%`

. - The binary number is divided by 10 to remove the rightmost digit.
- The decimal number is updated by adding
`remainder * (1 << i)`

(which is equivalent to`remainder * 2^i`

) to it. `i`

is incremented by 1 to move to the next power of 2.- The process continues until the binary number becomes 0.
- Finally, the decimal number is returned.
- The decimal number is printed as the output.