LINUX.ORG.RU

C++ стравнения значений

 , ,


0

2

С++ нет опыта только учусь. Может кто знает
У меня есть такой код

std::bitset<8> b(9b); //(9b меняется)
Потом я преобразую в строку
std::string str = b.to_string();
Получаю массив двоичного кода 10011011
Мне надо поставить условие
if (str[0] == 1) { printf ("OK"/n);}
Но сравнение не работает. Я пробовал 1 загнать в переменную и преобразовать в тип char int.

if (str[0] == '1') { printf ("OK/n");}

Одиночные символы заключаются в одинарные кавычки.

А еще у Вас \n почему-то снаружи кавычек и имеет косую черту, направленную не в ту сторону.

Northsoft ★★
()
Последнее исправление: Northsoft (всего исправлений: 1)

У std::bitset есть доступ к битам с указанием позиции. Зачем в строку переводить?

ox55ff ★★★★★
()
Ответ на: комментарий от RazrFalcon

Знак + или -
Я поставил char Sign; а потом Sign = '+';
В формулах участвовать не будет просто вывод.

prostoR
() автор топика
Ответ на: комментарий от prostoR

Мне нужно было выделить 6 бит из 8

может так 0x9b & 0b00111111 и bitset не нужен. В прошлой теме вам советовали для вывода в поток, а тк c++ то cout << bitset

а все что может std::bitset можете посмотреть тут (на русском): http://ru.cppreference.com/w/cpp/utility/bitset

samson ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.