国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python實現的十進制小數與二進制小數相互轉換功能

2020-01-04 16:35:10
字體:
來源:轉載
供稿:網友

本文實例講述了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 binsprint(dec2bin(.8125))      # [1, 1, 0, 1]

二進制小數 ⇒ 十進制小數

小數點后,從左向右,每位分別表示

Python,十進制,二進制,小數,轉換

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

 

希望本文所述對大家Python程序設計有所幫助。


注:相關教程知識閱讀請移步到python教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 南华县| 弥渡县| 调兵山市| 张家口市| 明溪县| 景泰县| 察雅县| 咸宁市| 中西区| 沅陵县| 闻喜县| 新巴尔虎右旗| 东源县| 囊谦县| 昭苏县| 江安县| 普兰县| 新化县| 安平县| 瓮安县| 双辽市| 昂仁县| 裕民县| 密云县| 太湖县| 通江县| 丽江市| 平安县| 馆陶县| 姜堰市| 嘉祥县| 扎囊县| 峡江县| 彩票| 阿坝县| 泰州市| 芦山县| 时尚| 济阳县| 思茅市| 贡嘎县|