大家好,欢迎来到IT知识分享网。
本文实例讲述了Python实现的十进制小数与二进制小数相互转换功能。分享给大家供大家参考,具体如下:
十进制小数 ⇒ 二进制小数
乘2取整
对十进制小数乘2得到的整数部分和小数部分,
整数部分即是相应的二进制数码,
再用2乘小数部分(之前乘后得到新的小数部分),又得到整数和小数部分。
如此不断重复,直到小数部分为0或达到精度要求为止.
第一次所得到为最高位,最后一次得到为最低位
如:
0.25的二进制
0.25*2=0.5 取整是0
0.5*2=1.0 取整是1
即0.25的二进制为 0.01 ( 第一次所得到为最高位,最后一次得到为最低位)
0.8125的二进制
0.8125*2=1.625 取整是1
0.625*2=1.25 取整是1
0.25*2=0.5 取整是0
0.5*2=1.0 取整是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, 0, 1]
二进制小数 ⇒ 十进制小数
小数点后,从左向右,每位分别表示
def bin2dec(b):<
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/24174.html