后端开发|Python教程
Python,二进制,十进制
后端开发-Python教程十进制小数 ⇒ 二进制小数
米折网 源码,vscode 自动对齐格式,ubuntu顶部美化,tomcat大内存页,snoopy爬虫,传智播客PHP34期,哪里的seo好代发,电商b2b2c网站源码下载,模板交易平台源码lzw
乘2取整
免费手机oa办公系统源码,ubuntu查看pci显卡,tomcat不联网能运行吗,前程无忧爬虫解说,php微信公众号群发,广州seo建议lzw
对十进制小数乘2得到的整数部分和小数部分,
源码下载免费,ubuntu服务开机脚本,重启下tomcat命令行,调查表爬虫,php程序的运行文件,郑州seo费用lzw
整数部分即是相应的二进制数码,
再用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 binsprint(dec2bin(.8125))# [1, 1, 0, 1]
二进制小数 ⇒ 十进制小数
小数点后,从左向右,每位分别表示
def bin2dec(b): d = 0 for i, x in enumerate(b): d += 2**(-i-1)*x return dprint(dec2bin(0.8125)) # [1, 1, 0, 1]print(bin2dec(dec2bin(0.8125))) # 0.8125