Search code examples
c++bitsetbitsets

is it possible to convert bitset<8> to an array of characters of integers?


I have bitset<8> v8 and its value is something like "11001101", something in binary, how can we convert it to an array of characters or integers in c++?


Solution

  • To convert to an array of char, you could use the bitset::to_string() function to obtain the string representation and then copy individual characters from that string:

    #include <iostream>
    #include <algorithm>
    #include <string>
    #include <bitset>
    int main()
    {
            std::bitset<8> v8 = 0xcd;
    
            std::string v8_str = v8.to_string();
            std::cout << "string form: " << v8_str << '\n';
    
            char a[9] = {0}; 
            std::copy(v8_str.begin(), v8_str.end(), a);
            // or even strcpy(a, v8_str.c_str());
            std::cout << "array form: " << a << '\n';
    }