桂平网站设计,网络运营商架构,网站新闻被百度收录,酒类招商网站大全题目描述
编写一个函数#xff0c;输入是一个无符号整数#xff08;以二进制串的形式#xff09;#xff0c;返回其二进制表达式中数字位数为 ‘1’ 的个数#xff08;也被称为 汉明重量).#xff09;。
提示#xff1a;
请注意#xff0c;在某些语言#xff08;如…题目描述
编写一个函数输入是一个无符号整数以二进制串的形式返回其二进制表达式中数字位数为 ‘1’ 的个数也被称为 汉明重量).。
提示
请注意在某些语言如 Java中没有无符号整数类型。在这种情况下输入和输出都将被指定为有符号整数类型并且不应影响您的实现因为无论整数是有符号的还是无符号的其内部的二进制表示形式都是相同的。 在 Java 中编译器使用 二进制补码 记法来表示有符号整数。因此在上面的 示例 3 中输入表示有符号整数 -3。
示例 思路
n 1 1, 说明最低位是1
n 1 0, 说明最低位是0
依次向右移位直到n 0java中无符号右移
代码
public class Solution {// you need to treat n as an unsigned valuepublic int hammingWeight(int n) {int count 0;while(n ! 0) {count n 1;n 1;}return count;}
}