首页 > 试题广场 >

求int型正整数在内存中存储时1的个数

[编程题]求int型正整数在内存中存储时1的个数
  • 热度指数:381391 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
输入一个 int 型的正整数,计算出该 int 型数据在内存中存储时 1 的个数。

数据范围:保证在 32 位整型数字范围内

输入描述:

 输入一个整数(int类型)



输出描述:

 这个数转换成2进制后,输出1的个数

示例1

输入

5

输出

2
示例2

输入

0

输出

0
头像 枫火蓮天
发表于 2021-04-05 10:47:45
通过31次无符号右移,逐位与1进行与运算,结果为1则计数 import java.util.Scanner; public class Main{     public static void&n 展开全文
头像 楚天阔呀
发表于 2021-10-16 23:06:09
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n 展开全文
头像 小陆要懂云
发表于 2021-08-14 15:26:38
看到二进制就要想到bitset #include<bitset> #include<iostream> using namespace std; int main(){ int n; cin>>n; bitset<32> b(n 展开全文
头像 不要抗拒去做自己没接触过的事
发表于 2019-08-23 16:58:28
n = int(input()) n = bin(n) print(n.count('1'))
头像 绿豆饼
发表于 2021-10-21 19:03:53
''' 在本题中直接调用bin()方法得到二进制数据,并使用count()方法对得到的二进制数据中1的个数进行计数 ''' num = int(input()) print(bin(num).count('1'))
头像 牛客306450122号
发表于 2021-10-17 18:02:30
计算有多少个1,类似于计算该整型数的汉明重量。n&(n-1)的操作表示将n最右边的一个1变为0,重复操作既可计算总共1的个数。 #include <stdio.h> int main(){ int n; int k = 0; scanf("%d",& 展开全文
头像 Liusxhqz
发表于 2021-10-27 22:20:40
求int型正整数在内存中存储时1的个数 var num = readline(); let str = parseInt(num,10).toString(2) + ''; str = [...str] let count = 0 str.forEach(e=> e == '1' ? coun 展开全文
头像 菜个鸟
发表于 2020-04-13 17:41:25
#include<iostream> using namespace std; int main() { int n; cin>>n; int m=0; while(n) { m+=n%2; n/=2; 展开全文
头像 牛客105931208号
发表于 2020-10-31 23:12:40
import java.util.*; public class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); int i = sc.nextInt(); 展开全文
头像 摸鱼学大师
发表于 2021-10-09 19:04:17
题目的主要信息: 输入一个十进制int型整数,计算其二进制中1的个数 方法一:转化二进制 具体做法: 我们可以将十进制整数转化成二进制后,再统计二进制中1的个数,鉴于二进制位数较多,我们用字符串表示。采用连除法,对数字连续除2取余获取二进制每一位。然后遍历二进制字符串,得到二进制中1的个数。 # 展开全文

问题信息

难度:
1590条回答 98712浏览

热门推荐

通过挑战的用户

查看代码