C++ 如何将任意大小的位集拆分为64位位的位集列表?

C++ 如何将任意大小的位集拆分为64位位的位集列表?,c++,bitset,C++,Bitset,我有一个任意大小的位集,我想知道从原始位集获取64位位集列表的最快方法 例如,从位集b('010001110…'),我想得到一个包含前64位的64位位集列表,然后是原始位集中的下64位,依此类推。遗憾的是,没有任何功能可以直接从STL高效地执行此操作。你们必须一点一点地走,或者你们可以变换和遮罩,正如答案中所解释的 但是, 您可以使用,它可以使用boost::to_block_range转换为一系列“块” 最后一个怎么办?

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


例如,从
位集b('010001110…')
,我想得到一个包含前64位的64位位集列表,然后是原始位集中的下64位,依此类推。

遗憾的是,没有任何功能可以直接从STL高效地执行此操作。你们必须一点一点地走,或者你们可以变换和遮罩,正如答案中所解释的

但是,

您可以使用,它可以使用boost::to_block_range转换为一系列“块”


最后一个怎么办?