#include <bitset> #include <iostream> using namespace std; int func(int x) { int countx = 0; while(x) { countx++; //---------------------- bitset <16> myset1(x); // x 的二进制 cout << countx << " : " << myset1 << endl; bitset <16> myset2(x - 1); // x - 1 的二进制 cout << countx << " : " << myset2 << endl; cout << endl; //---------------------- x = x&(x - 1); } return countx; } int main() { cout << "countx : " << func(9999) << endl; cin.get(); return 0; }