如何迭代C++中的二進制數?錯誤:對二進制轉換無效的操作數(bitset <8>和int)
在提到的功能我得到
invalid operands to binary conversion (bitset<8> and int)
這是在我的代碼的功能,這是越來越既定錯誤
int value(int x)
{
int temp=0,counter=0;
bitset<8> i(x);
while (i != 0) {
temp = i % 10;
if(temp == 1) {
counter++;
}
i = i/10;
}
return counter;
}
X是它的二進制值,我需要的數量,然後從二進制數我應該找到那個號碼的號碼。 –
你真的沒有在這裏使用bitset。你的代碼試圖迭代十進制而不是二進制數。 – iksemyonov
如果你想計數位,你有['bitset :: count()'](http://en.cppreference.com/w/cpp/utility/bitset/count)。 –