python求数字二进制1的个数
时间: 2023-05-20 08:07:41 浏览: 92
使用 bin() 将数字转换为二进制,并通过字符串方法 count() 计算其中的 "1" 的个数。
代码示例:
num = int(input("请输入数字:"))
binary = bin(num)[2:] # 转换为二进制,且去掉前缀 "0b"
count = binary.count("1") # 计算其中 "1" 的个数
print("{} 的二进制表示中,1 的个数为 {}".format(num, count))
例如输入数字 10,则输出:
10 的二进制表示中,1 的个数为 2
相关问题
python二进制中1的个数
可以使用 Python 自带的 bin() 函数将一个整数转换为二进制字符串,然后遍历字符串并计算其中 1 的个数即可。
以下是一个示例代码:
```python
def count_one_bits(n):
# 将整数转换为二进制字符串并去掉前缀 '0b'
bin_str = bin(n)[2:]
# 使用 count() 方法计算 1 的个数
return bin_str.count('1')
```
例如:
```python
>>> count_one_bits(10)
2
>>> count_one_bits(15)
4
```
另外,还可以使用位运算来实现计算二进制中 1 的个数,方法可以参考「191. 位1的个数」题解。
python利用for循环求二进制中1的个数
可以使用以下代码来计算一个二进制数中 1 的个数:
```python
num = int(input("请输入一个整数:"))
count = 0
for i in range(32):
if (num >> i) & 1:
count += 1
print("二进制数中1的个数为:", count)
```
首先,我们输入一个整数,然后使用一个计数器 `count` 来计算二进制数中 1 的个数。然后,我们使用一个 for 循环来循环 32 次,因为一个整数在 Python 中占用 32 位。在循环中,我们使用位运算符 `>>` 来将数字向右移动 i 位,并使用位运算符 `&` 来检查第 i 位是否为 1。如果是,则将计数器 `count` 加 1。最后,我们输出计数器的值即可。
阅读全文