我想将一个std::bitset 的4个4位彼此相加。我的意思是:
std::bitset<16> arr("1100 1100 1100 1100");
我想和这些4位数组。
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++ - C++对std::bitset的位进行操作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12640294/