C++ Primer 中提到 bitset 可以用一个字符串来初始化(潘译版 141 页)
其中举了一个例子
// 从位置 6 开始,直到字符串结束: 1010101
string bitval("1111110101100011010101");
bitset<32> bitvec6(bitval, 6); //#1
可是我在 VC.NET 和 g++ 得到的结果(cout << bitvec6)都是:
00000000000000000101100011010101
怎么回事?谢过先
string bitval("1111110101100011010101");
bitset<32> bitvec5(bitval, 6, 4); //#2
从第6位开始1010101(从末尾开始,0~31位),4个长度(1010),输出结果应该是(000..00(28个0)1010)
参照结果如下::
***************************************************************************
----------123456789
00000000000000000101100011010101 (#1)
----------1111110101100011010101 (source)
----------------0101 (#2)
阅读(1391) | 评论(0) | 转发(0) |