首页 > 试题广场 >

整数的二进制数表达中有多少个1

[编程题]整数的二进制数表达中有多少个1
  • 热度指数:1215 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
给定一个32位整数n,返回该整数二进制形式1的个数。

输入描述:
输入一个整数,代表n,n为32为整数。


输出描述:
输出一个整数,代表n的二进制表达式中1的个数。
示例1

输入

1

输出

1
示例2

输入

-2

输出

31

备注:
时间复杂度,额外空间复杂度
import java.util.*;

public class Main {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		
		int n = scanner.nextInt();
        
        int res = 0;
        int i = 32;
        while(i-->0){
            res += (n & 1);
            n >>= 1;
        }
		System.out.print(res);
	}
}

发表于 2019-10-22 12:21:29 回复(0)

问题信息

上传者:小小
难度:
1条回答 4649浏览

热门推荐

通过挑战的用户

查看代码