gpt4 book ai didi

C++ 对 std::bitset 的位进行操作

转载 作者:行者123 更新时间:2023-11-30 01:25:14 25 4
gpt4 key购买 nike

我想将 std::bitset<16> 的 4 个 4 位与彼此进行 AND 运算。我的意思是:

std::bitset<16> arr("1100 1100 1100 1100");

我想对这些 4 位数组进行 AND。

std::bitset<4> a;

a= 1100 & 1100 & 1100 & 1100

我想以最有效的方式做到这一点。不使用 for 循环。

提前致谢。

最佳答案

只要你知道目标和源是多少位,你就可以做到这一点。

std::bitset<16> arr("1100110011001100");
std::bitset<4> v (
((arr ) &
(arr>>4 ) &
(arr>>8 ) &
(arr>>12)).to_ulong()
& 0x0f
);

关于C++ 对 std::bitset 的位进行操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12640294/

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