Чтобы преобразовать двоичную строку в десятичное число в C++, вы можете использовать несколько методов. Вот несколько подходов:
Метод 1: использование функции stoi()
#include <iostream>
#include <string>
int main() {
std::string binaryString = "101010"; // Example binary string
int decimalNumber = std::stoi(binaryString, nullptr, 2);
std::cout << "Decimal number: " << decimalNumber << std::endl;
return 0;
}
Метод 2: преобразование вручную
#include <iostream>
#include <string>
int main() {
std::string binaryString = "101010"; // Example binary string
int decimalNumber = 0;
int base = 1;
for (int i = binaryString.length() - 1; i >= 0; i--) {
if (binaryString[i] == '1') {
decimalNumber += base;
}
base *= 2;
}
std::cout << "Decimal number: " << decimalNumber << std::endl;
return 0;
}
Метод 3: использование набора бит
#include <iostream>
#include <bitset>
#include <string>
int main() {
std::string binaryString = "101010"; // Example binary string
std::bitset<32> bits(binaryString);
int decimalNumber = bits.to_ulong();
std::cout << "Decimal number: " << decimalNumber << std::endl;
return 0;
}
Метод 4: использование строкового потока
#include <iostream>
#include <sstream>
#include <string>
int main() {
std::string binaryString = "101010"; // Example binary string
std::stringstream ss(binaryString);
int decimalNumber = 0;
ss >> std::bitset<32>(decimalNumber);
std::cout << "Decimal number: " << decimalNumber << std::endl;
return 0;
}