Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

C++. Как из строки получить двоичное число?

Александр Рогожин Мастер (1903), закрыт 9 месяцев назад
У меня есть строка типа s = "11000010", её численное значение я хочу передать в char. Я мог бы написать
 char c = 0b11000010 
И получить желаемый результат, но у меня строка.
Как из "11000010" получить 0b11000010?
Лучший ответ
Сергей Гений (60482) 10 месяцев назад
 #include  
#include
using namespace std;
int main()
{
string s = "10000001";
cout << stol(s, nullptr, 2);
}
https://cplusplus.com/reference/string/stol/
Батаев ДмитрийПросветленный (23295) 10 месяцев назад
это намного лучше
Остальные ответы
Весельчак Профи (678) 10 месяцев назад
Напиши 2 двойки в строку
Александр РогожинМастер (1903) 10 месяцев назад
зачем?
рома erw Знаток (278) 10 месяцев назад
понанимают таких как ты по объявлению
Александр РогожинМастер (1903) 10 месяцев назад
куда понанимают? 0_О
рома erw Знаток (278) Александр Рогожин, переходи на java
Батаев Дмитрий Просветленный (23295) 10 месяцев назад
int mask= 128; int num=0;
string s = "11000010";
for (int b=0; b<8;b++)
{
if (s[b]=='1') num+=mask;
mask= mask>>1;
}
cout << num;
Батаев ДмитрийПросветленный (23295) 10 месяцев назад
конечно это не совсем с++, так как нужно сделать класс для перевода строки в число
Александр РогожинМастер (1903) 10 месяцев назад
Большое спасибо
Kehay Мыслитель (6303) 10 месяцев назад
 #include  
#include
#include

int main() {
std::string input = "1100101";
char result = 0;

for (int i = 0; i < input.length(); ++i) {
if (input[i] == '1') {
result |= 1 << (input.length() - 1 - i);
}
}

std::cout << "Результат: " << std::bitset<8>(result) << std::endl;
return 0;
}
Похожие вопросы