如何迭代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)。 –