用python写输入某个年龄值(非负整数),数出其在二进制表示下1的个数,并输出
时间: 2023-05-11 20:05:29 浏览: 243
以下是用 Python 编写的计算二进制中 1 的个数的代码:
```
def count_ones(n):
count = 0
while n > 0:
count += n & 1
n >>= 1
return count
age = int(input("请输入年龄:"))
print("二进制中 1 的个数为:", count_ones(age))
```
这段代码会先读取用户输入的年龄值,然后计算其二进制表示中 1 的个数,并输出结果。
相关问题
python十进制转换成二进制后1和0的个数输入一个非负整数,求他变成二进制后1和0的个数
该问题可以使用位运算进行转换。如果一个二进制数从右向左数第i位为1,则表示它的十进制表示中包含$2^{i-1}$。因此,我们可以将一个数n左移i-1位,得到$2^{i-1}\times n$,再将这个结果加到答案中。具体实现可以使用位运算符&和|,其中&用于判断n的第i位是否为1,|用于设置答案的第i位为1。下面是Python代码实现:
def convert(n):
res = 0
for i in range(1, 11):
if n & (1 << i-1):
res |= (1 << i-1) * 2
return res
n = int(input())
print(convert(n))
输入一个非负整数,求它变成二进制后1和0的个数。 (PYTHON实现提示:用bin函数)。 输入格式: 输入一个十进制的正整数。 输出格式: 输出二进制数中1和0的个数。中间用1个空格分开。 输入样例1: 37 输出样例1: 3 3 输入样例2: 0 输出样例2: 0 1。python
好的,那么我们可以使用 Python 的内置函数 bin() 将输入的十进制数转换为二进制数,并统计其中 1 和 0 的个数。
以下是 Python 代码实现:
```python
n = int(input())
binary = bin(n)[2:] # 将十进制数转换为二进制数,[2:] 表示去掉前缀 '0b'
count_1 = binary.count('1') # 统计二进制数中 1 的个数
count_0 = binary.count('0') # 统计二进制数中 0 的个数
print(count_1, count_0)
```
输入样例1:
```
37
```
输出样例1:
```
3 3
```
输入样例2:
```
0
```
输出样例2:
```
0 1
```
阅读全文