@mmerkulov0

C++ как преобразовать string в bitset?

Как преобразовать std::string в std::bitset.
Например если есть строка "hello", то bitset будет содержать: 01101000 01100101 01101100 01101100 01101111
  • Вопрос задан
  • 83 просмотра
Пригласить эксперта
Ответы на вопрос 2
edward_freedom
@edward_freedom
Чем то пример в доках не подошел?
https://en.cppreference.com/w/cpp/utility/bitset/bitset
Ответ написан
@none7
template <class _Elem = char, class _Traits = char_traits<_Elem>, class _Alloc = allocator<_Elem>>
std::string getstrbits(const std::basic_string<_Elem, _Traits, _Alloc>& s) {
    std::stringstream ret;
    const constexpr int digits = std::numeric_limits<_Elem>::digits + std::numeric_limits<_Elem>::is_signed;
    for (auto c : s) ret << std::bitset<digits>(c).to_string();
    return ret.str();
}
Пропускаешь строчку через функцию, а затем скармливаешь bitset. Только нужно понимать, что bitset это массив фиксированного размера, а string динамического.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
от 210 000 до 250 000 ₽
БАРС Груп Москва
от 180 000 до 260 000 ₽
uKit Group Ростов-на-Дону
от 60 000 до 100 000 ₽
18 мая 2021, в 01:31
3000 руб./за проект
17 мая 2021, в 23:39
50000 руб./за проект
17 мая 2021, в 23:10
100000 руб./за проект