首页 > 试题广场 >

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

[编程题]求int型正整数在内存中存储时1的个数
  • 热度指数:413911 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
\hspace{15pt}对于给定的 int 型的十进制整数 n,统计其在内存中存储时 1 的个数。换句话说,即统计其二进制表示中 1 的个数。

输入描述:
\hspace{15pt}在一行上输入一个整数 n \left( 0 \leqq n < 2^{31} \right),代表给定的数字。


输出描述:
\hspace{15pt}在一行上输出一个整数,代表 n 的二进制表示中 1 的个数。
示例1

输入

10

输出

2

说明

\hspace{15pt}十进制 110 的二进制表示如下:
\hspace{23pt}\bullet\,十进制 (1)_{10} 等于二进制 (1)_{2}
\hspace{23pt}\bullet\,十进制 (2)_{10} 等于二进制 (10)_{2}
\hspace{23pt}\bullet\,十进制 (3)_{10} 等于二进制 (11)_{2}
\hspace{23pt}\bullet\,十进制 (4)_{10} 等于二进制 (100)_{2}
\hspace{23pt}\bullet\,十进制 (5)_{10} 等于二进制 (101)_{2}
\hspace{23pt}\bullet\,十进制 (6)_{10} 等于二进制 (110)_{2}
\hspace{23pt}\bullet\,十进制 (7)_{10} 等于二进制 (111)_{2}
\hspace{23pt}\bullet\,十进制 (8)_{10} 等于二进制 (1000)_{2}
\hspace{23pt}\bullet\,十进制 (9)_{10} 等于二进制 (1001)_{2}
\hspace{23pt}\bullet\,十进制 (10)_{10} 等于二进制 (1010)_{2}
示例2

输入

0

输出

0
n = bin(int(input()))
sum = 0
for i in n:
    if i <= '1':
        sum += int(i)

print(sum)
发表于 2025-06-22 17:07:25 回复(0)
num = str(bin(int(input())))
print(num.count('1'))
发表于 2025-06-21 14:50:03 回复(0)
print("{0:b}".format(int(input())).count('1'))

发表于 2025-06-19 21:49:55 回复(0)
print(bin(int(input())).count("1"))
发表于 2025-05-09 17:21:54 回复(0)
n = int(input())
print(bin(n).count('1')
发表于 2025-03-30 16:18:45 回复(1)
n = list(str(bin(eval(input()))))
print(n.count('1'))

发表于 2025-02-19 11:49:49 回复(0)
print(bin(int(input())).count("1"))
发表于 2025-02-16 18:07:24 回复(0)
n = int(input())
s = bin(n)
st = str(s)
print(st.count('1'))
发表于 2024-12-23 12:22:20 回复(0)
a=int(input())
b=bin(a)[2:]
sum=0 for char in b: if char=='1':
        sum=sum+1 print(sum)
发表于 2024-12-06 16:11:42 回复(0)
print(str(bin(int(input()))).count('1'))

发表于 2024-11-24 13:27:07 回复(0)
num = int(input())
list_0 = []
while num//2!=0:
    list_0.append(str(num%2))
    num = num // 2
else:
    list_0.append('1')
flag = 0
for item in list_0:
    if item == '1':
        flag+=1
print(flag)


发表于 2024-10-31 22:00:01 回复(0)
s=int(input())
t=bin(s)[2:]
print(t.count('1'))
发表于 2024-10-31 14:04:41 回复(0)
s=int(input())
n = 0
m = str(bin(s)[2:])
for i in m:
    if i == '1':
        n += 1
print(n)
发表于 2024-09-30 02:13:52 回复(0)
a=int(input())
s=bin(a).count('1')
print(s)
#输入一个十进制数,然后用count计算转换成二进制后1的个数
发表于 2024-09-17 18:25:44 回复(0)
i_ = int(input())
#'{0: b}'.format(num) 将10进制转为二进制
# .count(str1) 找出含有str1的个数
print('{0: b}'.format(i_).count('1'))
发表于 2024-06-26 13:33:26 回复(0)
print(bin(int(input())).count('1'))
发表于 2024-05-01 16:02:29 回复(0)
n = int(input())
count = 0
while n:
    if n & 1:
        count+=1
    n = n>>1
print(count)
编辑于 2024-04-18 13:40:23 回复(0)
print(str(bin(int(input()))).count('1'))
编辑于 2024-02-27 15:20:47 回复(0)
a=bin(int(input()))
print(a.count('1'))
编辑于 2024-02-21 16:16:27 回复(0)

问题信息

难度:
63条回答 101120浏览

热门推荐

通过挑战的用户

查看代码
求int型正整数在内存中存储时1的个数