Python实现的十进制小数与二进制小数相互转换功能

作者:Inside_Zhang 时间:2022-02-17 16:24:39 

本文实例讲述了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]

二进制小数 ⇒ 十进制小数

小数点后,从左向右,每位分别表示

Python实现的十进制小数与二进制小数相互转换功能


def bin2dec(b):
 d = 0
 for i, x in enumerate(b):
   d += 2**(-i-1)*x
 return d
print(dec2bin(0.8125))
       # [1, 1, 0, 1]
print(bin2dec(dec2bin(0.8125)))
       # 0.8125

PS:这里再为大家推荐几款计算与转换工具供大家参考使用:

在线任意进制转换工具:
http://tools.jb51.net/transcoding/hexconvert

科学计算器在线使用_高级计算器在线计算:
http://tools.jb51.net/jisuanqi/jsqkexue

在线计算器_标准计算器:
http://tools.jb51.net/jisuanqi/jsq

希望本文所述对大家Python程序设计有所帮助。

来源:http://blog.csdn.net/lanchunhui/article/details/50575661

标签:Python,进制,转换
0
投稿

猜你喜欢

  • python正则表达式去掉数字中的逗号(python正则匹配逗号)

    2023-03-15 20:32:40
  • JS 中对象equals方法的实现

    2020-07-08 03:49:19
  • getElementsByAttribute

    2009-10-27 12:13:00
  • 浅谈python中的实例方法、类方法和静态方法

    2022-02-10 07:11:27
  • Anaconda+Pycharm+Pytorch虚拟环境创建(各种包安装保姆级教学)

    2023-06-27 23:21:39
  • python中将两组数据放在一起按照某一固定顺序shuffle的实例

    2022-02-13 12:15:14
  • 正则表达式语法速查

    2007-11-11 10:43:00
  • Python中input()函数的用法实例小结

    2021-09-04 18:42:59
  • python搭建服务器实现两个Android客户端间收发消息

    2022-05-24 12:21:12
  • oracle12C安装步骤(图文详解)

    2023-07-15 14:19:34
  • numpy 矩阵形状调整:拉伸、变成一位数组的实例

    2021-12-15 06:40:02
  • python中plt.imshow与cv2.imshow显示颜色问题

    2023-12-13 10:47:54
  • Python imread、newaxis用法详解

    2021-10-09 15:44:08
  • MySQL应用技巧之内存使用线程独享

    2010-08-08 08:33:00
  • python中h5py开源库的使用样例详解

    2022-03-30 00:37:03
  • Pyecharts绘制全球流向图的示例代码

    2021-04-30 14:52:56
  • Django实现WebSocket在线聊天室功能(channels库)

    2023-04-01 00:41:55
  • PJBlog3优化——301定向跳转解决重复内容的问题

    2009-05-20 10:40:00
  • Python实现多行注释的另类方法

    2021-04-28 21:49:12
  • Python绘制K线图之可视化神器pyecharts的使用

    2023-06-28 12:30:58
  • asp之家 网络编程 m.aspxhome.com