python求数字二进制1的个数
时间: 2023-05-20 07:07:29 浏览: 123
答案:
您好!像这种问题,我们可以使用Python内置函数bin()将数字转化为二进制字符串,然后再使用字符串方法count()来统计字符串中1的出现次数。代码如下:
```
num = int(input("请输入一个整数:"))
binary_str = bin(num)[2:] # 从第三个字符开始取才是二进制数
count = binary_str.count('1')
print("二进制数中1的个数为:", count)
```
例如,输入数字9,输出结果为:
```
请输入一个整数:9
二进制数中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。最后,我们输出计数器的值即可。
阅读全文