#include <iostream>
#include <string>
using namespace std;
const int a = 4;
const int b = 3;
string to_bits(int a)
{
string res="";
for(;a!=0;a=a>>1) res = ((a&1)==1?"1":"0") + res;
return res;
}
unsigned int num_bits(const int a, const int b)
{
unsigned int res=0;
auto c = a ^ b;
for(auto c=a^b; c!=0; c=c >> 1) res += ( (c&1)==1?1:0 );
return res;
}
int main() {
// your code goes here
cout << "a=" << a <<" = " << to_bits(a) << ", b=" << b << " = " << to_bits(b) << " --> " << num_bits(a, b) << endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKY29uc3QgaW50IGEgPSA0OyAKY29uc3QgaW50IGIgPSAzOyAKCnN0cmluZyB0b19iaXRzKGludCBhKQp7CglzdHJpbmcgcmVzPSIiOwoJZm9yKDthIT0wO2E9YT4+MSkgcmVzID0gKChhJjEpPT0xPyIxIjoiMCIpICsgcmVzOyAKCXJldHVybiByZXM7Cn0KCnVuc2lnbmVkIGludCBudW1fYml0cyhjb25zdCBpbnQgYSwgY29uc3QgaW50IGIpCnsKCXVuc2lnbmVkIGludCByZXM9MDsKCWF1dG8gYyA9IGEgXiBiOyAKCQoJZm9yKGF1dG8gYz1hXmI7IGMhPTA7IGM9YyA+PiAxKSByZXMgKz0gKCAoYyYxKT09MT8xOjAgKTsgCgkKCXJldHVybiByZXM7IAp9CgppbnQgbWFpbigpIHsKCS8vIHlvdXIgY29kZSBnb2VzIGhlcmUKCWNvdXQgPDwgImE9IiA8PCBhIDw8IiA9ICIgPDwgdG9fYml0cyhhKSA8PCAiLCBiPSIgPDwgYiA8PCAiID0gIiA8PCB0b19iaXRzKGIpIDw8ICIgLS0+ICIgPDwgbnVtX2JpdHMoYSwgYikgPDwgZW5kbDsgCglyZXR1cm4gMDsKfQoK