gpt4 book ai didi

c++ - 位集拆分为字符

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:03:31 25 4
gpt4 key购买 nike

我有一个相当大的 bitset:

bitset<128*8> bs;

我想访问 8 位组。到目前为止的情况如何:

  1. bs.to_string()
  2. 分割成一个大小为 8 的字符串 vector
  3. 从这些字符串创建一个新的位集并调用 to_ulong()

有没有更好的解决方案?性能至关重要,因为我在程序中多次调用此方法。

最佳答案

std::bitset有运算符 >>.

如果您只想访问该值并读取它,您可以使用以下代码。它将 N th 8 位读取为 uint8_t:

bitset<128*8> mask(0xFF);
uint8_t x = ((bs >> N * 8) & mask).to_ulong();

关于c++ - 位集拆分为字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16754381/

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