我需要使用超过 32 位的位标志(现在准确地说是 33 位)。我试过发现 std::bitset 不能处理超过 32 位(ulong)。我必须使用矢量还是有办法让 bitset 工作?
我在这个项目中仅限于 c++98,所以我不能使用 boost。
谢谢。
编辑:
我想做这样的事情:
const uint64 kBigNumber = 1LL << 33;
std::bitset<33> myBitSet;
...
switch(myBitSet) {
case kBigNumber:
// do something
...
}