某公司笔试题 - 求int型正整数在内存中存储时1的个数(附python代码)

发布时间 2023-08-12 21:12:31作者: Alpha_To_Beta
# 输入一个int型的正整数,计算出该int型数据在内存中存储时1的个数。
# 数据范围: 保证在32位整型数字范围内

num = int(input("请输入一个正整数:"))
# 将输入的正整数转化成二进制
num_bin = bin(num)
print(num_bin)
# 将二进制字符串转化成数组
nbl = list(num_bin)
if len(nbl) > 0 and len(nbl) <= 32:
l = []
# 遍历数组,将元素为1的添加到新的l数组中,并计算数组l的长度(就是1的个数)
for i in nbl:
if i == '1':
l.append(i)
cots = len(l)
print(cots)
else:
print("输入的正整数位数超过了数据范围32位")