用二进制表示十进制1-128,每一位上1的个数是多少

用二进制表示十进制1-4, 非别是1,10,11,100,每一位上1的个数是5.
那么用二进制表示十进制1-128,每一位上1的个数是多少?

用二进制表示十进制1-4, 非别是1,10,11,100,每一位上1的个数是5.
那么用二进制表示十进制1-128,每一位上1的个数是多少?
用二进制表示十进制1-4, 非别是1,10,11,100,每一位上1的个数是5.
其中,个位上1出现了2^1=2次,十位上1出现了2^1=2次,百位上1出现了1次,
2+2+1
=2*2^1+1
=5
用二进制表示十进制1-8, 分别是1,10,11,100,101,110,111,1000,每一位上1的个数是13.
其中,个位上1出现了2^2=4次,十位上1出现了2^2=4次,百位上1出现了了2^2=4次,千位上1出现了1次,
4+4+4+1
=3*2^2+1
=13
用二进制表示十进制1-16, 分别是1,10,11,100,101,110,111,1000,1001,1010,1011,1100,1101,1110,1111,10000,
其中,个位上1出现了2^3=8次,十位上1出现了2^3=8次,百位上1出现了了2^3=8次,千位上1出现了了2^3=8次,万位上1出现了1次,
8+8+8+8+1
=4*2^3+1
=33
可知,此计算通项式为:n*(2^(n-1))+1
其中,n为二进制数的位数
由上,128为8位二进制数10000000,故其中1的个数为:
8*(2^(8-1))+1
=8*2^7+1
=1024+1
=1025
即所有1的个数是1025个。
温馨提示:答案为网友推荐,仅供参考