bitset <32> bitvec3(012)
C++ Prime中的解释为:
将第1 和3 位的值设置为1 假设位置从0 开始计数
00000000000000000000000000001010
我们还可以传递一个代表0 和1 的集合的字符串参数来构造bitset 对象如下所示
// 与bitvec3 的初始化等价
string bitval( "1010" );
bitset< 32 > bitvec4( bitval );
bitvec4 和bitvec3 的第1 和3 位都被设置为1 而其他位保持为0
刚开始我总认为应该设置为“1100”的,但是我测试过,自己的理解是错误的,原因如下:
其中012为八进制数,十六进制是0x0a,二进制是1010,所以结果是正确的
另外在使用bitset的时候,需要添加头文件<bitset>, 并且使用std名字空间。