编写一函数,实现将小数的十进制转换成二进制数
时间: 2024-12-23 12:22:26 浏览: 2
当然,我可以为你解释如何编写这样一个函数。在Python中,你可以使用内置的`bin()`函数或者手动通过算法来实现这个功能。这里是一个简单的函数示例,它接受一个小数作为输入,并返回对应的无前缀0b二进制字符串:
```python
def decimal_to_binary(decimal_num):
if not isinstance(decimal_num, (int, float)):
raise ValueError("Input must be a number.")
# 将小数转换为整数部分和小数部分
int_part = int(decimal_num)
fraction_part = abs(decimal_num - int_part)
# 对整数部分进行转换
binary_int = bin(int_part)[2:] # 去掉 '0b' 前缀
# 小数部分转换
binary_fraction = ''
while fraction_part > 0:
fraction_part *= 2
bit = int(fraction_part)
binary_fraction += str(bit)
fraction_part -= bit
return binary_int + '.' + binary_fraction
# 示例
decimal = 3.75
binary = decimal_to_binary(decimal)
print(f"Decimal {decimal} in binary is {binary}")
```
阅读全文