【问题描述】 编写程序,输入十进制整数(只考虑正数),把它转换为以字符串形式存储的二进制,输出该二进制数字结果。十进制整数的转换策略是除2取余。本题需要编写1个函数,对应整数的转换过程。 【输入形式】 十进制整数 【输出形式】 对应输入的二进制数字结果。若整数为0,则输出0。 【样例输入】 15 【样例输出】 1111
时间: 2023-11-29 20:05:26 浏览: 123
十进制转换二进制(原码)
以下是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为输入的十进制整数的大小。
阅读全文