【问题描述】 编写程序,输入十进制整数(只考虑正数),把它转换为以字符串形式存储的二进制,输出该二进制数字结果。十进制整数的转换策略是除2取余。本题需要编写1个函数,对应整数的转换过程。 【输入形式】 十进制整数 【输出形式】 对应输入的二进制数字结果。若整数为0,则输出0。 【样例输入】 15 【样例输出】 1111
时间: 2023-11-29 20:05:26 浏览: 119
以下是Python的实现代码:
```python
def dec2bin(num):
if num == 0:
return "0"
res = ""
while num != 0:
res = str(num % 2) + res
num //= 2
return res
# 测试
num = int(input())
print(dec2bin(num))
```
实现思路:
1. 判断输入的十进制整数是否为0,如果是则直接返回"0"字符串,否则进入下一步。
2. 初始化一个空字符串res,然后循环执行以下操作,直到十进制整数num为0为止:
a. 对num取模2,将所得余数转换为字符串后,添加到res字符串的最左端。
b. 对num整除2,将所得商作为num的新值。
3. 返回res字符串,即为输入的十进制整数的二进制表示形式。
以上算法的时间复杂度为O(logn),其中n为输入的十进制整数的大小。
相关问题
编写Python程序输入十进制整数只考虑正数,把它转换成以字符串形式存储的二进制,输出该二进制数字结果
num = int(input("请输入一个十进制正整数:"))
binary = ""
while num > 0:
remainder = num % 2
binary = str(remainder) + binary
num = num // 2
print("转换后的二进制数为:" + binary)
Python编写程序:输入十进制整数只考虑正数。把它转换为以字符串形式存储的二进制。输出该二进制数字结果,十进制整数的转换策略是除以2取余。还要考虑0的处理。
好的,以下是Python的代码实现:
```python
decimal_num = int(input("请输入一个十进制正整数:"))
if decimal_num == 0:
binary_str = "0"
else:
binary_str = ""
while decimal_num != 0:
remainder = decimal_num % 2
binary_str = str(remainder) + binary_str
decimal_num //= 2
print("二进制结果为:" + binary_str)
```
运行程序后,输入一个十进制正整数,程序会将其转换为二进制字符串并输出。对于输入的0,程序会直接输出二进制字符串"0"。
阅读全文