在Boost :: Dynamic_bitset中提取设置的位索引
extract the index of bits set in a boost::dynamic_bitset
i有 Dynamic bitset ,其中我要存储随机生成的整数值。
然后,我想取n位块,然后检查设置为1的位的索引。最后,我将 dynamic bitset 视为一种表。因此,我想要的是,如果我在 ith n位的块中,该块中的位置设置为1,因此块内的零件的索引始终从0开始。因此,换句话说,我需要跟踪n个位的ITH块,并且我还需要在该块内设置为1的位的索引。
Note 我正在使用动态比特集,因为我只能在运行时知道的斑点的大小,也只有N位的大小。
事先感谢您提供的任何帮助。
这是我认为您正在寻找的逻辑的C解决方案 -
for (int blk_num = 0; blk_num < BLOCK_COUNT; blk_num++) {
U32 tmp_bitmap = bitmap_arr[blk_num];
while (tmp_bitmap > 0) {
int next_psn = __builtin_ffs(tmp_bitmap) + blk_num * 32 - 1;
tmp_bitmap &= (tmp_bitmap-1);
printf("Index: %d setn", next_psn);
}
}
相关文章:
- 为不同配置设置MSVC_RUNTIME_LIBRARY的正确方法是什么
- 在C++/Linux中设置单调时钟的一些技巧
- 如何在选项卡视图Qt中设置一个新项目,并保存以前的项目
- 从包含m行的文件中提取n行,必要时(惰性地)重复该文件
- 嵌套在类中时无法设置成员数据
- 如何从 std::atomic 中提取指针 T<T>?
- 需要帮助设置在C++中使用的Potrace
- 如何在自删除后将对象设置为nullptr
- 为什么istream不支持右值提取
- 将指针设置为"nullptr"并不能防止双重删除?
- 如何在Ubuntu中使用cmake设置qt4
- ld:bind_at_load和-bitcode_bundle(Xcode设置ENABLE_bitcode=YES)不能
- 如何设置一个范围来提取我想要获得的信息
- 为什么将指针指向std ::设置的提取节点是未定义的行为
- 从输入文件 c++ 中提取和设置变量
- 在Boost :: Dynamic_bitset中提取设置的位索引
- 使用不同的区域设置提取年、月和日期
- 动态设置要提取的参数
- istream提取没有明显原因地设置failbit
- 为什么从流中提取字符串会设置 eof 位