尝试创建函数来计算浮点数和浮点数。我们该怎么做?
这就是我所做的
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
我认为最简单的方法是在没有小数点的字符串上使用内置的整数功能,然后将基数除以小数位数。
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)