-
编写一个函数输入是一个无符號整数,返回其二进制表达式中数字位数为 ‘1’ 的个数(也被称为汉明重量)
解释:输入的二进制串 中,共有三位为 ‘1’
解释:输入嘚二进制串 中,共有一位为 ‘1’
解释:输入的二进制串 中,共有 31 位为 ‘1’
请注意,在某些语言(如 Java)中没有无符号整数类型。在这種情况下输入和输出都将被指定为有符号整数类型,并且不应影响您的实现因为无论整数是有符号的还是无符号的,其内部的二进制表示形式都是相同的
在 Java 中,编译器使用二进制补码记法来表示有符号整数因此,在上面的 示例 3 中输入表示有符号整数 -3。
如果多次调鼡这个函数你将如何优化你的算法?