Класс bitset: преобразование набора битов в число или строку

Преобразовать набор битов в целое число без знака позволяют методы to_ulong() и to_ullong(). Если размер набора больше размера типа, то генерируется исключение overflow_error. Прототипы методов:

unsigned long to_ulong() const;
unsigned long long to_ullong() const;

Пример:

std::bitset<8> arr(0xFF);
unsigned long x = arr.to_ulong();
std::cout << x << std::endl;                      // 255
unsigned long long y = arr.to_ullong();
std::cout << y << std::endl;                      // 255

Для преобразования набора битов в строку предназначен метод to_string(). Основные прототипы метода (полный список смотрите в документации):

basic_string<char, char_traits<char>, allocator<char> >
   to_string() const;
basic_string<char, char_traits<char>, allocator<char> >
   to_string(char zero, char one='1') const;
template<class CharT>
   basic_string<CharT, char_traits<CharT>, allocator<CharT> >
   to_string() const;
template<class CharT>
   basic_string<CharT, char_traits<CharT>, allocator<CharT> >
   to_string(CharT zero, CharT one=CharT('1')) const;

Пример:

std::bitset<8> arr(0xFF);
std::string str = arr.to_string();
std::cout << str << std::endl;                    // 11111111
std::wstring wstr = arr.to_string<wchar_t>();
std::wcout << wstr << std::endl;                  // 11111111

Учебник C++ (MinGW-W64)
Учебник C++ (MinGW-W64) в формате PDF

Помощь сайту

ЮMoney (Yandex-деньги): 410011140483022

ПАО Сбербанк:
Счет: 40817810855006152256
Реквизиты банка:
Наименование: СЕВЕРО-ЗАПАДНЫЙ БАНК ПАО СБЕРБАНК
Корреспондентский счет: 30101810500000000653
БИК: 044030653
КПП: 784243001
ОКПО: 09171401
ОКОНХ: 96130
Скриншот реквизитов