试图创建函数来计算浮点数,从浮点数和基数。我们该怎么做?这是我所做的def frac(s, base): import math exp = range(math.log(s, base), -1, -1) for e in exp: d = (s // (base ** e)) s -= d * (base ** e) yield d 尝试瞄准类似的东西(100.101, base=2) = 4.625
1 回答
SMILET
TA贡献1796条经验 获得超4个赞
我认为最简单的方法是在没有小数点的字符串上使用内置整数功能,然后除以提高到小数位数的基数。
def frac (s, base):
dotPos=s.find('.')
if (dotPos == -1):
return (int(s, base))
places = len(s)-dotPos-1
return (1.0*int(s[:dotPos]+s[dotPos+1:],base)/(base**places))
print frac("100.1",2)
添加回答
举报
0/150
提交
取消