11

处理非常大的布尔数据集,尝试使用按位操作来处理它,寻找一些处理位集的库,可以:

  1. 动态集合,可以通过指针或引用传递。
  2. 按位读写。
  3. 计数设置位和快速。

显然std::bitset,它的功能太有限了,有什么建议吗?

4

2 回答 2

11

GMP在任意大小的自然数上提供低级位函数。这些是“低级 GMP 功能,用于实现高级 GMP 功能,但也适用于时间关键的用户代码”。

这些包括mpn_popcount计数 1 位和mpn_copyi提取子序列。

于 2013-01-21T03:37:01.773 回答
2

BitMagic也可能是您的朋友。

于 2013-01-21T10:12:01.917 回答