十进制小数 ⇒ 二进制小数

乘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 *= 2bins.append(1 if x>=1. else 0)x -= int(x)return binsprint(dec2bin(.8125))# [1, 1, 0, 1]

二进制小数 ⇒ 十进制小数

小数点后,从左向右,每位分别表示 2−1,2−2,2−3,⋯2^{-1},2^{-2},2^{-3},\cdots
0.1101b=1⋅2−1+1⋅2−2+0⋅2−3+1⋅2−4=0.81250.1101_b=1\cdot2^{-1}+1\cdot2^{-2}+0\cdot2^{-3}+1\cdot2^{-4}=0.8125

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

References

[1] 十进制小数转二进制小数方法

十进制小数==二进制小数相关推荐

  1. python十进制小数转二进制_Python十进制小数和二进制小数相互转换的实现方式

    这篇文章主要介绍了Python实现的十进制小数与二进制小数相互转换功能,结合具体实例形式详细分析了二进制与十进制相互转换的原理及Python相关实现技巧,需要的朋友可以参考下 本文实例讲述了Pytho ...

  2. python十进制小数转二进制小数_python将小数转化为二进制_Python实现的十进制小数与二进制小数相互转换功能...

    本文实例讲述了Python实现的十进制小数与二进制小数相互转换功能.分享给大家供大家参考,具体如下: 十进制小数 ⇒ 二进制小数 乘2取整 对十进制小数乘2得到的整数部分和小数部分, 整数部分即是相应 ...

  3. python十进制小数转二进制_Python实现的十进制小数与二进制小数相互转换功能

    本文实例讲述了Python实现的十进制小数与二进制小数相互转换功能.分享给大家供大家参考,具体如下: 十进制小数 ⇒ 二进制小数 乘2取整 对十进制小数乘2得到的整数部分和小数部分, 整数部分即是相应 ...

  4. 十进制小数转二进制小数方法

    十进制小数转二进制小数方法</font color> 十进制小数→→→→→二进制小数 方法:"乘2取整" 对十进制小数乘2得到的整数部分和小数部分,整数部分既是相应的二 ...

  5. 【转载】十进制小数转二进制小数方法

    十进制小数转二进制小数方法 十进制小数→→→→→二进制小数 方法:"乘2取整" 对十进制小数乘2得到的整数部分和小数部分,整数部分既是相应的二进制数码,再用2乘小数部分(之前乘后得 ...

  6. c语言小数转化为十进制小数,浅谈十进制小数和二进制小数之间的转换

    一.二进制数转换成十进制数 由二进制数转换成十进制数的基本做法是,把二进制数首先写成加权系数展开式,然后按十进制加法规则求和.这种做法称为"按权相加"法. 二.十进制数转换为二进制 ...

  7. python二进制转为十进制-Python实现的十进制小数与二进制小数相互转换功能

    本文实例讲述了Python实现的十进制小数与二进制小数相互转换功能.分享给大家供大家参考,具体如下: 十进制小数 ⇒ 二进制小数 乘2取整 对十进制小数乘2得到的整数部分和小数部分, 整数部分即是相应 ...

  8. python小数的进制转换_Python实现的十进制小数与二进制小数相互转换功能

    本文实例讲述了Python实现的十进制小数与二进制小数相互转换功能.分享给大家供大家参考,具体如下: 十进制小数 ⇒ 二进制小数 乘2取整 对十进制小数乘2得到的整数部分和小数部分, 整数部分即是相应 ...

  9. float数据在计算机内存中的存储方法

    *************************************************** 更多精彩,欢迎进入:http://shop115376623.taobao.com ****** ...

最新文章

  1. CSS常见布局解决方案
  2. ipfs如何查找一个文件的_如何用 1 分钟遍历一个 100TB 的文件?
  3. 小谈Online-game服务器端设计(4)
  4. 【js类库AngularJs】解决angular+springmvc的post提交问题
  5. SqlServer标识列、修改标识列值
  6. linux下安装软件后的环境变量设置
  7. 2016.6.2近日学习计划
  8. MongoDB 分片操作
  9. linux 联通ip配置,linux下设置电信网通双线路IP地址
  10. Markdown 小技巧之图片左对齐
  11. 头腾大战再升级 字节跳动做游戏的胜算有多少?
  12. OpenVINO™基于人脸landmark检测实现眼睛疲劳/睡意检测
  13. 全网唯一正确身份证和社统一社会信用代码自定义表单校验器(身份证校验和社统一社会信用代码校验)
  14. 简要分析用MD5加密算法加密信息(如有疑问,敬请留言)
  15. 自动驾驶外卖上线,美团即将配送一切-1
  16. 解决安卓手机USB接口被外设占用导致无法调试的问题
  17. wmm的学习日记(XSS跨站脚本漏洞)
  18. Pandas数据类型自行变换及数据类型转换失败情况分析与解决方法
  19. 最大类间方差(大津法)详解
  20. (WPS篇)Excel一次性删除所有照片

热门文章

  1. 必须包含数字和字母,字符随意的正则表达式
  2. 鸿蒙系统更新法定年龄,超25000位开发者参赛,华为首届鸿蒙开发者创新大赛创意满满...
  3. caffe和caffe-yolov3编译出错:fatal error: caffe/proto/caffe.pb.h: No such file or directory
  4. 女人的话中话(英文版),供男生参考哦
  5. Visual C# .NET2003语言的改变
  6. Python 中的 - 是什么意思
  7. 毕业之际,个人学习感言和收获
  8. Python学习之路3 - 字符串操作字典
  9. Linux恢复删除的文件
  10. Android之——AsyncTask和Handler对照