#include <iostream>
using namespace std;
int main() {
char testchar = 0x01;
int bitsSet = 0;
int bitNum = 0;
int pos = 1;
for (unsigned char c = 0x80; c != 0x00; c = c >> 1)
{
if (c & testchar)
{
bitsSet++;
bitNum = pos;
}
pos++;
}
cout << "Bits set [" << bitsSet << "] bitNum [" << bitNum << "]" << endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IG1haW4oKSB7CgljaGFyIHRlc3RjaGFyID0gMHgwMTsKCQoJaW50IGJpdHNTZXQgPSAwOwoJaW50IGJpdE51bSA9IDA7CglpbnQgcG9zID0gMTsKCQoJZm9yICh1bnNpZ25lZCBjaGFyIGMgPSAweDgwOyBjICE9IDB4MDA7IGMgPSBjID4+IDEpCgl7CgkJaWYgKGMgJiB0ZXN0Y2hhcikKCQl7CiAgICAgICAgICAgIGJpdHNTZXQrKzsKICAgICAgICAgICAgYml0TnVtID0gcG9zOwoJCX0KICAgICAgICAKICAgICAgICBwb3MrKzsKCX0KCWNvdXQgPDwgIkJpdHMgc2V0IFsiIDw8IGJpdHNTZXQgPDwgIl0gYml0TnVtIFsiIDw8IGJpdE51bSA8PCAiXSIgPDwgZW5kbDsKCXJldHVybiAwOwp9