6

我有一个非常简单的问题:在 C++ 中,是否有一种内置或直接的方法可以将大量(~1000)位(或布尔值)分组到单个标签中,以便内置位运算符的功能与它们的基本功能一样?

例如,long你可能会写:

unsigned long maximum = ~0;

或者可以使用:

somenum>>;

对于任意大小的内存块,是否有类似的方法可以做到这一点?

如果没有,有什么好的选择?我想到了 bit <vectors>、 a Cunion等,但这些似乎都需要手写例程来进行各种位操作。

4

2 回答 2

11

是的!它被称为std::bitset并且就是这样做的。

希望这可以帮助!

于 2012-08-27T20:07:21.237 回答
0

此外,boost::dynamic_bitset根据要求可能会有用。我希望它是标准的,而不是std::vector<bool>hack

于 2012-08-27T21:53:05.317 回答