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


Posted in Python onOctober 12, 2017

本文实例讲述了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
Python 相关文章推荐
python每次处理固定个数的字符的方法总结
Jan 29 Python
使用Python脚本生成随机IP的简单方法
Jul 30 Python
浅谈python新手中常见的疑惑及解答
Jun 14 Python
python实现斐波那契数列的方法示例
Jan 12 Python
Python元字符的用法实例解析
Jan 17 Python
安装2019Pycharm最新版本的教程详解
Oct 22 Python
使用python写一个自动浏览文章的脚本实例
Dec 05 Python
NumPy排序的实现
Jan 21 Python
django中的数据库迁移的实现
Mar 16 Python
浅析Python __name__ 是什么
Jul 07 Python
聊聊python中的异常嵌套
Sep 01 Python
python接口自动化框架实战
Dec 23 Python
Python调用C# Com dll组件实战教程
Oct 12 #Python
python 实现一个贴吧图片爬虫的示例
Oct 12 #Python
Python实现曲线点抽稀算法的示例
Oct 12 #Python
python去除字符串中的换行符
Oct 11 #Python
Python 3.6 性能测试框架Locust安装及使用方法(详解)
Oct 11 #Python
Windows系统下多版本pip的共存问题详解
Oct 10 #Python
Python实现模拟分割大文件及多线程处理的方法
Oct 10 #Python
You might like
轻松入门: 煮好咖啡的七个诀窍
2021/03/03 冲泡冲煮
用PHP实现将GB编码转换为UTF8
2006/11/25 PHP
php获取当前url地址的方法小结
2017/01/10 PHP
PHP命令空间namespace及use的用法小结
2017/11/27 PHP
PHP使用 Pear 进行安装和卸载包的方法详解
2019/07/08 PHP
JQuery实现自定义对话框的代码
2008/06/15 Javascript
jQuery插件开发基础简单介绍
2013/01/07 Javascript
基于JavaScript 下namespace 功能的简单分析
2013/07/05 Javascript
jquery中常用的函数和属性详细解析
2014/03/07 Javascript
JavaScript中Cookies的相关使用教程
2015/06/04 Javascript
jquery div模态窗口的简单实例
2016/05/28 Javascript
jQuery实现导航高亮的方法【附demo源码下载】
2016/11/09 Javascript
基于jQuery实现弹幕APP
2017/02/10 Javascript
基于vue实现swipe轮播组件实例代码
2017/05/24 Javascript
bootstrap+jquery项目引入文件报错的解决方法
2018/01/22 jQuery
浅谈react受控组件与非受控组件(小结)
2018/02/09 Javascript
让Vue也可以使用Redux的方法
2018/05/23 Javascript
JS实现百度网盘任意文件强制下载功能
2018/08/31 Javascript
js实现带搜索功能的下拉框
2020/01/11 Javascript
Vue中component标签解决项目组件化操作
2020/09/04 Javascript
基于ant design日期控件使用_仅月份的操作
2020/10/27 Javascript
Python中的startswith和endswith函数使用实例
2014/08/25 Python
用python的requests第三方模块抓取王者荣耀所有英雄的皮肤实例
2017/12/14 Python
使用python将时间转换为指定的格式方法
2018/11/12 Python
利用Python实现原创工具的Logo与Help
2018/12/03 Python
python3字符串操作总结
2019/07/24 Python
Python拆分大型CSV文件代码实例
2019/10/07 Python
python 成功引入包但无法正常调用的解决
2020/03/09 Python
Python 爬虫批量爬取网页图片保存到本地的实现代码
2020/12/24 Python
pyx文件 生成pyd 文件用于 cython调用的实现
2021/03/04 Python
节约用水标语
2014/06/11 职场文书
机电系毕业生求职信
2014/07/11 职场文书
机关党员四风问题个人整改措施
2014/10/26 职场文书
2014年合同管理工作总结
2014/12/02 职场文书
2015圣诞节贺卡寄语
2015/03/24 职场文书
离婚协议书范文2016
2016/03/18 职场文书