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程序的执行原理
Apr 11 Python
简单介绍利用TK在Python下进行GUI编程的教程
Apr 13 Python
python引用DLL文件的方法
May 11 Python
Python入门_学会创建并调用函数的方法
May 16 Python
Python爬虫实例扒取2345天气预报
Mar 04 Python
python如何为被装饰的函数保留元数据
Mar 21 Python
对python中的xlsxwriter库简单分析
May 04 Python
python 多维高斯分布数据生成方式
Dec 09 Python
Python基于百度AI实现OCR文字识别
Apr 02 Python
pytorch随机采样操作SubsetRandomSampler()
Jul 07 Python
使用python求斐波那契数列中第n个数的值示例代码
Jul 26 Python
python3 删除所有自定义变量的操作
Apr 08 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
56.com视频采集接口程序(PHP)
2007/09/22 PHP
百度地图API应用之获取用户的具体位置
2014/06/10 PHP
php中的curl_multi系列函数使用例子
2014/07/29 PHP
php中namespace及use用法分析
2016/12/06 PHP
TP5框架页面跳转样式操作示例
2020/04/05 PHP
很棒的学习jQuery的12个网站推荐
2011/04/28 Javascript
JavaScript前端图片加载管理器imagepool使用详解
2014/12/29 Javascript
《JavaScript函数式编程》读后感
2015/08/07 Javascript
AngularJs定制样式插入到ueditor中的问题小结
2016/08/01 Javascript
Vue.directive使用注意(小结)
2018/08/31 Javascript
jQuery实现点击旋转,再点击恢复初始状态动画效果示例
2018/12/11 jQuery
小程序分页实践之编写可复用分页组件
2019/07/18 Javascript
js实现抽奖的两种方法
2020/03/19 Javascript
使用Vue-scroller页面input框不能触发滑动的问题及解决方法
2020/08/08 Javascript
Antd的table组件表格的序号自增操作
2020/10/27 Javascript
关于angular 8.1使用过程中的一些记录
2020/11/25 Javascript
[03:14]2014DOTA2西雅图国际邀请赛 EG战队巡礼
2014/07/07 DOTA
Pyhton中单行和多行注释的使用方法及规范
2016/10/11 Python
python中os模块详解
2016/10/14 Python
基于Python的图像数据增强Data Augmentation解析
2019/08/13 Python
Laravel框架表单验证格式化输出的方法
2019/09/25 Python
浅析PEP572: 海象运算符
2019/10/15 Python
Guess欧洲官网:美国服饰品牌
2019/08/06 全球购物
俄罗斯宠物用品网上商店:ZooMag
2019/12/12 全球购物
创业计划书六个要素
2013/12/26 职场文书
《诺贝尔》教学反思
2014/02/17 职场文书
消防宣传口号
2014/06/16 职场文书
文明城市标语
2014/06/16 职场文书
2014小学教师个人工作总结
2014/11/10 职场文书
2014年安全员工作总结
2014/11/13 职场文书
小组口号霸气押韵
2015/12/24 职场文书
2016年小学“感恩教师”主题队日活动总结
2016/04/01 职场文书
创业计划之特色精品店
2019/08/12 职场文书
一文带你理解vue创建一个后台管理系统流程(Vue+Element)
2021/05/18 Vue.js
Python Django ORM连表正反操作技巧
2021/06/13 Python
高通2023 年将发布高性能PC处理器
2022/04/29 数码科技