#include <iostream>
#include <bitset>
using namespace std;
void test_bitset(int i)
{
bitset<sizeof(char) * 8> bitset_byte(i);//定义并初始化
cout << "bitset of " << i << " is " << bitset_byte << endl;//直接可以被输出
if (bitset_byte.to_ulong() == i)//转换成整型
{
//转换成 std::string
cout << "bitset of " << i << " is " << bitset_byte.to_string() << endl;
}
cout << endl;
}
int main(void)
{
test_bitset(0);
test_bitset(1);
test_bitset(2);
test_bitset(3);
test_bitset(4);
test_bitset(5);
test_bitset(6);
test_bitset(7);
test_bitset(8);
test_bitset(9);
test_bitset(10);
return 0;
}
输出
bitset of 0 is 00000000
bitset of 0 is 00000000
bitset of 1 is 00000001
bitset of 1 is 00000001
bitset of 2 is 00000010
bitset of 2 is 00000010
bitset of 3 is 00000011
bitset of 3 is 00000011
bitset of 4 is 00000100
bitset of 4 is 00000100
bitset of 5 is 00000101
bitset of 5 is 00000101
bitset of 6 is 00000110
bitset of 6 is 00000110
bitset of 7 is 00000111
bitset of 7 is 00000111
bitset of 8 is 00001000
bitset of 8 is 00001000
bitset of 9 is 00001001
bitset of 9 is 00001001
bitset of 10 is 00001010
bitset of 10 is 00001010