乘2取整法介绍:
举例:0.35转换成二进制
0.35×2=0.7 ······ 取0(d1)
0.7×2=1.4 ······ 取1(d2)
0.4×2=0.8 ······ 取0(d3)
0.8×2=1.6 ······ 取1(d4)
0.6×2=1.2 ······ 取1(d5)
0.2×2=0.4 ······ 取0(d6)
·····
直到满足规定的位数为止
所以(0.35)10=(0.d1d2d3d4d5d6)2=(0.010110)2
证明:
https://blog.csdn.net/dazuo01/article/details/12243415
class Solution:
def printBin(self, num: float) -> str:
ans,i='0.',32
while num and i:
num*=2
if num>=1:
ans+='1'
num-=1
else:ans+='0'
i-=1
if num!=0: ans="ERROR"
return ans
参考博客: