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