# How to convert binary string to int in C++?

In programming, converting a binary string to an integer is a very common task. Binary is a base-2 number system, which means that it has only two digits, 0 and 1. In C++, you can easily convert a binary string to an integer using the built-in "stoi" function. This function takes a string as input and converts it to an integer.

In this blog post, we will explain how to convert a binary string to an integer in C++. We will provide a detailed explanation of the code, syntax, and example of how to do this. We will also include the output of the code, so you can see what the results should look like.

Code:

Here is the code to convert a binary string to an integer in C++:

``````#include <iostream>
#include <string>
#include <cmath>

using namespace std;

int binaryToDecimal(string binary)
{
int decimal = 0;
int power = 0;
for (int i = binary.size() - 1; i>= 0; i--)
{
if (binary[i] == '1')
{
decimal += pow(2, power);
}
power++;
}
return decimal;
}

int main()
{
string binary = "1101";
int decimal = binaryToDecimal(binary);
cout<< "Binary: " << binary <<endl;
cout<< "Decimal: " << decimal <<endl;
return 0;
}
``````

Output:

When you run this code, you should see the following output:

``````Binary: 1101
Decimal: 13
``````

Explanation:

Now let's break down the code and explain how it works.

First, we include the necessary headers for this program: iostream, string, and cmath. These headers will allow us to work with strings and do math calculations.

Next, we define the function "binaryToDecimal". This function takes a binary string as input and returns the decimal equivalent. We start by initializing two variables: "decimal" and "power". The "decimal" will hold the decimal equivalent of the binary string, and "power" will be used to calculate the decimal value of each digit in the binary string.

We then loop through the binary string in reverse order using a "for" loop. It allows us to start with the least significant bit (rightmost bit) and work our way to the most significant bit (leftmost bit). For each digit in the binary string, we check if it is a 1. If it is, we add 2^power to the decimal value. If it is a 0, we don't add anything. After that, we increment the "power" variable so that the next digit in the binary string is multiplied by the correct power of 2. Finally, we return the decimal value of the binary string.

In the "main" function, we define a binary string "1101", and then we call the "binaryToDecimal" function and store the result in the "decimal" variable. After that, we print out the binary string and the decimal equivalent using the "cout" function.

There are many applications for converting a binary string to an integer in programming. For example, in computer networking, data is often transmitted in binary format. When this data is received, it needs to be converted to an integer so that it can be processed and used by the application.

Another application for binary to integer conversion is in encryption and cryptography. Encryption algorithms often use binary data to represent characters and other data types. By converting the binary data to an integer, the encryption algorithm can perform mathematical operations on the data to encode and decode messages.

In addition to the code we provided, there are other ways to convert a binary string to an integer in C++. One option is to use the "bitset" class, which is included in the "bitset" header. The "bitset" class provides a convenient way to work with binary data and can be used to convert a binary string to an integer.

## Conclusion:

Converting a binary string to an integer in C++ is a relatively simple task. By using the "stoi" function and the built-in "pow" function, we can easily convert a binary string to an integer. It can be very useful in a variety of programming applications. In this blog post, we provided a detailed explanation of the code, syntax, and example of how to do this. We hope that this post has been helpful to you and that you can use this code in your own programming projects.