求一个整数的二进制形式有多少个1
时间: 2024-01-21 14:18:08 浏览: 80
可以通过位运算来实现这个功能。以下是一个示例代码:
```python
def count_ones(n: int) -> int:
count = 0
while n:
count += n & 1
n >>= 1
return count
```
函数 `count_ones(n)` 输入一个整数 `n`,输出其二进制形式中 1 的个数。
在函数中,我们使用了一个循环来遍历 `n` 的二进制形式的每一位:
- `n & 1` 可以得到 `n` 的二进制形式的最后一位,也就是判断这一位是否为 1;
- `n >>= 1` 将 `n` 的二进制形式向右移动一位,相当于去掉了最后一位。
每次循环都会统计一个 1,最终输出统计到的 1 的个数即可。
相关问题
写一个函数,求一个整数的二进制形式有多少个1
好的,下面是求一个整数的二进制形式有多少个1的函数:
```python
def count_ones(n):
count = 0
while n > 0:
count += n & 1
n >>= 1
return count
```
这个函数使用了位运算来计算整数的二进制形式中有多少个1。它通过不断地将整数向右移位并与1进行与运算,如果结果为1,则说明该位为1,计数器加1。最后返回计数器的值即可。
例如,对于整数9(二进制形式为1001),调用`count_ones(9)`将返回2,因为二进制形式中有两个1。
写一个函数求一个整数的二进制形式有多少个1
以下是一个 Python 函数,它可以计算一个整数的二进制形式中包含多少个 1。
```python
def count_ones(n):
count = 0
while n > 0:
if n % 2 == 1:
count += 1
n //= 2
return count
```
该函数首先将计数器 count 初始化为 0。接下来,它使用一个 while 循环,将整数 n 不断除以 2,直到 n 变为 0。在每次循环中,函数检查 n 的最低位是否为 1,如果是,则将计数器 count 加 1。最后,函数返回计数器 count 的值,这个值就是整数 n 的二进制形式中包含的 1 的个数。
阅读全文