编写程序,输入十进制整数(只考虑正数),把它转换为以字符串形式存储的二进制,输出该二进制数字结果。十进制整数的转换策略是除2取余。不清楚的同学自己上网查阅相关资料。 本题需要编写1个函数,对应整数的转换过程。 【输入形式】 十进制整数 【输出形式】 对应输入的二进制数字结果。若整数为0,则输出0。 【样例输入】 15 【样例输出】 1111
时间: 2024-03-05 13:48:32 浏览: 52
好的,您可以尝试以下代码:
```python
def decimal_to_binary(dec_num):
if dec_num == 0:
return "0"
binary = ""
while dec_num > 0:
remainder = dec_num % 2
binary = str(remainder) + binary
dec_num //= 2
return binary
# 测试
dec_num = int(input("请输入一个正整数:"))
bin_str = decimal_to_binary(dec_num)
print("转换成二进制为:", bin_str)
```
代码执行过程:
1. 首先,我们定义了一个名为 `decimal_to_binary` 的函数,用于将十进制整数转换为二进制字符串;
2. 在函数中,我们先判断输入的十进制整数是否为0,若为0则直接返回字符串 "0";
3. 初始化二进制字符串 `binary` 为空字符串;
4. 进入循环,每次取十进制整数的余数(remainder),并将其转换为字符串,添加到二进制字符串的最前面;
5. 然后将十进制整数除以2,向下取整,更新十进制整数的值;
6. 当十进制整数为0时,退出循环;
7. 最后,函数返回二进制字符串;
8. 在主程序中,我们调用 `decimal_to_binary` 函数,将输入的十进制整数转换为二进制字符串,并输出结果。
注意:这个方法是通过除2取余的方式逐步得到二进制数的每一位,因此相对于 `bin()` 函数,效率可能会稍慢一些。
阅读全文