> start_b-6ren">
gpt4 book ai didi

c++ - 在位集中,我可以将 "to_ulong"用于特定范围的位吗?

转载 作者:IT老高 更新时间:2023-10-28 23:00:50 25 4
gpt4 key购买 nike

我正在做一些需要我访问特定位和位范围的事情。我决定使用 bitset,因为它很容易访问特定的位;如何提取位范围(子集)?

最佳答案

方法一:

return (the_bitset >> start_bit).to_ulong();

方法 B(在我的机器上比方法 A 快 100 倍):

unsigned long mask = 1;
unsigned long result = 0;
for (size_t i = start_bit; i < end_bit; ++ i) {
if (the_bitset.test(i))
result |= mask;
mask <<= 1;
}
return result;

关于c++ - 在位集中,我可以将 "to_ulong"用于特定范围的位吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2177186/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com