:请用Python 语言编写一个简单的把二进制小数转换为十进制小数的程序。要求输入一个二进制小数,例如输人“0.1011”,代表二进制小数 0.10112,输出相应的十进制小数
时间: 2024-12-14 15:19:01 浏览: 7
要将二进制小数转换成十进制小数,你可以使用Python的内置函数`int()`或`float()`,结合字符串操作。这里我会给你一个简单的例子:
```python
def binary_to_decimal(binary):
# 前缀处理,如果输入的是带点的二进制小数,则去掉前导零
if '.' in binary:
binary = binary.lstrip('0')
# 如果输入的是整数部分(没有小数点),先转为整型再除以2的位数次方
if ',' not in binary:
decimal = int(binary, 2) / (2 ** len(binary))
else:
integer_part, fractional_part = binary.split(',')
decimal = int(integer_part, 2) + float(fractional_part) * (1 / (2 ** len(fractional_part)))
return decimal
# 示例
binary_input = input("请输入一个二进制小数(如'0.1011'):")
decimal_output = binary_to_decimal(binary_input)
print("对应的十进制小数是:", decimal_output)
```
这个程序首先检查输入是否包含小数点,然后分别处理整数部分和小数部分(如果有)。整数部分直接转换,小数部分根据位数乘以适当的分数。
阅读全文