c++中如何把一个十进制整数转换成二进制然后统计其中1的个数

c++中如何把一个十进制整数转换成二进制然后统计其中1的个数

sprintf %x. 转化成二进制
统计1可以移位操作。然后&1

做个循环,每次除以2,将余数输出或保存,可转换为二进制,,至于统计,每次除法所得余数为1,使得计数器加1

itoa转为二进制字符串,自己遍历统计1的个数

 int x = 123;
int count = 0;
while (x > 0)
{
    count += x % 2;
        x /= 2;
}

http://codepad.org/rB4uO4CD