Python实现的十进制小数与二进制小数相互转换功能
本篇章节讲解Python实现的十进制小数与二进制小数相互转换功能。分享给大家供大家参考,具体如下: 十进制小数 ⇒ 二进制小数 乘2取整 对十进制小数乘2得到的整数部分和小数部分, 整数部分即是相应的二进制数码, 再用2乘小数部分(之前乘后得到新的小数部分),又得到整数和小数部分。 如此不断重复,直到小数部分为0或达到精度要求为止. 第一次所得到为最高位,最后一次得到为最低位 如: 0.25的二进制 0.25*2=0.5 取整是0 即0.25的二进制为 0.01 ( 第一次所得到为最高位,最后一次得到为最低位) 0.8125的二进制 0.8125*2=1.625 取整是1 即0.8125的二进制是0.1101(第一次所得到为最高位,最后一次得到为最低位) def dec2bin(x): x -= int(x) bins = [] while x: x *= 2 bins.append(1 if x>=1. else 0) x -= int(x) return bins print(dec2bin(.8125)) # [1,1,1] 二进制小数 ⇒ 十进制小数 小数点后,从左向右,每位分别表示 def bin2dec(b): d = 0 for i,x in enumerate(b): d += 2**(-i-1)*x return d print(dec2bin(0.8125)) # [1,1] print(bin2dec(dec2bin(0.8125))) # 0.8125 PS:这里再为大家推荐几款计算与转换工具供大家参考使用: 在线任意进制转换工具: 科学计算器在线使用_高级计算器在线计算: 在线计算器_标准计算器: 更多关于Python相关内容感兴趣的读者可查看本站专题:《Python数学运算技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》 希望本文所述对大家Python程序设计有所帮助。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |