编写Python程序,完成十-二进制的小数转换。输入是一个十进制的小数,例如输入"123",代表小数0.123,输出是一个二进制的小数。假设精确度最高是8位。
求大佬帮忙!
回答:截图
import math
a = input("请输入一个数:")
L = len(a)
b = float(a)/math.pow(10,L)
print(L)
print("0b0.",end="")
while b != 0:
if b*2 >= 1:
b = b*2-1
print("1",end="")
else:
b = b*2
print("0",end="")
好像存在着一些问题,有时候跑出来的结果很奇怪,但我找不到错在哪,一般的结果又都符合,你看看对不对