题解 | #求int型正整数在内存中存储时1的个数#
求int型正整数在内存中存储时1的个数
http://www.nowcoder.com/practice/440f16e490a0404786865e99c6ad91c9
#1.利用二进制的特性,如果i为二进制数,则i-1的最后一位跟i肯定是相反的,要么是0要么是1;
#2.看到其他题解有利用bin()和count()直接统计1的个数,确实简单粗暴,但好用;
while True: try: num = int(input()) cnt = 0 while num != 0 : num &= (num-1) cnt += 1 print(cnt) except: break