2
我有两个位集std::bitset<200> A
和std::bitset<200> B
,我想比较位A[10-60]
和B[50-100]
。我将两个位集中的50位提取到另外两个位集,然后将它们比较如下。有没有更好的方法?比较C++中的子位集
std::bitset<200> A, B;
// A and B are already set
std::bitset<50> x, y;
for(int i=10; i<=60; i++)
if(A.test(i)) x.set(i);
for(int i=50; i<=100; i++)
if(B.test(i)) y.set(i);
if(x == y) ....
它看起来像你的循环有一个错误的错误,这将引发异常。 – Rakete1111