如何将任何大小的位集拆分为64位位的位集列表



我有一个任意大小的位集,我想知道从我的原始位集中获取64位位位集列表的最快方法是什么?

例如,从bitset<10000> b('010001110 ...'),我想得到一个64位位集的列表,其中包含第一个64位,然后是原始位集的下一个64位数,依此类推

遗憾的是,没有任何功能可以直接从STL有效地执行此操作。你必须一点一点地走,否则你可以转移和掩盖,正如这个答案中所解释的那样。

然而,对这个给予赞扬

您可以使用boost::dynamic_bitset,它可以转换为一个范围"块";使用boost::to_block_range。

最新更新