Home »
C++ STL
Convert binary string to integer using stoi() function in C++ STL
C++ STL stoi() function: Here, we are going to learn how to convert a given binary string to an integer using stoi() function.
Submitted by IncludeHelp, on March 11, 2019
Problem statement
Given a binary string, we have to convert it into an integer using stoi() function.
C++ STL stoi() function
stoi() stands for string to integer, it is a standard library function in C++ STL, it is used to convert a given string in various formats (like binary, octal, hex or a simple number in string formatted) into an integer.
Syntax
int stoi (const string& str, [size_t* idx], [int base]);
Parameters
- const string& str is an input string.
- size_t* idx is an optional parameter (pointer to the object whose value is set by the function), it's default value is 0 or we can assign it to nullptr.
- int base is also an optional parameter, its default is 10. It specifies the radix to determine the value type of input string (2 for binary, 8 for octal, 10 for decimal and 16 for hexadecimal).
Return value
It returns converted integer value.
Here is an example with sample input and output:
Input:
string bin_string = "10101010";
Function call:
stoi(bin_string, 0, 2);
Output:
170
C++ STL code to convert a binary string into an integer
#include <iostream>
#include <string>
using namespace std;
int main() {
string bin_string = "10101010";
int number = 0;
number = stoi(bin_string, 0, 2);
cout << "bin_string: " << bin_string << endl;
cout << "number: " << number << endl;
bin_string = "111100001100111010";
number = stoi(bin_string, 0, 2);
cout << "bin_string: " << bin_string << endl;
cout << "number: " << number << endl;
return 0;
}
Output
bin_string: 10101010
number: 170
bin_string: 111100001100111010
number: 246586
Reference: std::stoi()