统计整数二进制表示中1的个数,用python统计数字个数
题目:
给定一个整数,计算其二进制表示中有多少个1。
分析:
方法一:循环迭代数的二进制的每一位,复杂度为o(log2 n),n为整数。
方法二:复杂度只有1的数。方法是采用位运算抹去0不需要处理。这里的按位表达式不仅在这里有,在别处也有很多用途。
而且还有详细讲解计算机组成原理中的加减乘除四则运算,如何表示负数,小数等。但是我忘了……这些运算都和位运算密切相关。单靠位运算即可实现十进制数的加减乘除。
代码:
DEF 1 (A):整数的二进制表达式有多少个1,复杂度是A的二进制长度. num=0而A!=0:num=a1a=1 return num def count 2(a):整数的二进制表达式中有多少个1,复杂度只有1 num=0而a!=0: a=a (a-1) #这就是操作,需要掌握。它的本质含义是不管num=1都擦除0,返回num。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。