C++ program to convert binary to decimal:
Binary number system is a base2 numeral system. Numbers represented in binary number system are called binary numbers. All numbers in binary number system are represented by 0 and 1.
Decimal number system is base10 numeral system and we have digits 0 to 9 to represent numbers.
In this post, we will learn how to convert a binary value to its decimal representation.
How to convert a binary value to decimal:
The formula to convert a binary to decimal is easy. We need to find the sum of all multiplications of binary digits and power of 2 at that position to find the decimal value for a binary.
For example, if abcde is a binary number with a, b, c, d, e are its digits. start from right to left. The position of the rightmost element is 0 and increment 1 for each to its left.
So, its decimal value will be:
e * 2^0 + d * 2 ^ 1 + c * 2^2 + b * 2^3 + a * 2^4
C++ program to convert binary to decimal:
Below program converts a binary number to decimal:
#include <iostream>
using namespace std;
int binaryToDecimal(int binary)
{
int decimal = 0;
int multiplier = 1;
while (binary)
{
int lastDigit = binary % 10;
binary = binary / 10;
decimal += multiplier * lastDigit;
multiplier *= 2;
}
return decimal;
}
int main()
{
int binary = 101001;
cout << "Binary: " << binary << ", Decimal " << binaryToDecimal(binary) << endl;
return 0;
}
Here,

binaryToDecimal method takes the binary value as the parameter and converts it to decimal and returns that.
 It uses a while loop to calculate the decimal result.
 The loop finds the last digit of the binary number and multiplies it with the multiplier i.e. 2^n. It is initialized as 1 since 2^0 is 1. On each iteration, we are multiplying this value by 2.
 Inside the loop, it updates the decimal value by adding multiplier * lastDigit.
 Also, the last digit of the binary number is removed on each step.
 Once the while loop ends, it will return the decimal value.
If you run the above program, it will print the below output:
Binary: 101001, Decimal 41
C++ program to convert binary to decimal by using inbuilt function:
C++ STL provides a method called stoi() to convert a string to integer. We can use this method to convert a string to numbers in different formats like binary, octal, hexadecimal etc.
Below program uses stoi to convert a binary string to decimal:
#include <iostream>
#include <string>
using namespace std;
int main()
{
string binary = "101001";
int decimal = stoi(binary, nullptr, 2);
cout << "Binary: " << binary << ", Decimal " << decimal << endl;
return 0;
}
It will give a similar result. The third argument is 2, which defines that we are converting the string from binary.
Below is the output it will print:
You might also like:
 C++ program to print the prime factors of a number
 C++ program to print A to Z in different ways
 C++ program to print from a to z in different ways
 C++ program to find the sum of ASCII values of all characters of a string
 C++ program to add a character at the end of the string by using push_back function
 C++ program to convert ASCII to character