W3cubDocs

/C++

std::bitset<N>::to_string

template<
    class CharT,
    class Traits,
    class Alloc 
> std::basic_string<CharT, Traits, Allocator>
    to_string() const;
(until C++11)
template<
    class CharT = char,
    class Traits = std::char_traits<CharT>,
    class Allocator = std::allocator<CharT> 
> std::basic_string<CharT, Traits, Allocator>
    to_string( CharT zero = CharT('0'), CharT one = CharT('1') ) const;
(since C++11)
(until C++23)
template<
    class CharT = char,
    class Traits = std::char_traits<CharT>,
    class Allocator = std::allocator<CharT> 
> std::basic_string<CharT, Traits, Allocator>
    constexpr
    to_string( CharT zero = CharT('0'), CharT one = CharT('1') ) const;
(since C++23)

Converts the contents of the bitset to a string. Uses zero to represent bits with value of false and one to represent bits with value of true.

The resulting string contains N characters with the first character corresponds to the last (N-1th) bit and the last character corresponding to the first bit.

Parameters

zero - character to use to represent false
one - character to use to represent true

Return value

the converted string.

Exceptions

May throw std::bad_alloc from the std::string constructor.

Example

#include <iostream>
#include <bitset>
int main()
{
    std::bitset<8> b(42);
    std::cout << b.to_string() << '\n'
              << b.to_string('*') << '\n'
              << b.to_string('O', 'X') << '\n';
}

Output:

00101010
**1*1*1*
OOXOXOXO

See also

returns an unsigned long integer representation of the data
(public member function)
(C++11)
returns an unsigned long long integer representation of the data
(public member function)

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/utility/bitset/to_string