IEEE浮点数 换算方法【超易懂详解】

  • 格式概览
  • 转换方法
    • 0. 例子说明
    • 1. 小学乘除:十进制 转 二进制
    • 2. 小学数学:科学计数法
    • 3. 儿童观察力:提取三个元素
    • 4. 幼儿手工:收尾拼接
  • 附录

格式概览

举个例子,十进制的 0.15625 用 32位 IEEE浮点数 格式表示的话就是下面图片中左边方格中的这一串数。

这样做,比起其他表示方法来说,有非常多的优点。网上有不少文章做了对比,有兴趣可以了解一下。

那么一个十进制数怎么变成这样的呢。

转换方法

0. 例子说明

这里以 3.625 作为例子。

你只需在心中默念 1 2 3 4,它就能变成下面这样

1. 小学乘除:十进制 转 二进制

第一步是将这个数从十进制转为二进制。

3.625 ( 10 ) = 11.101 ( 2 ) 3.625(10) = 11.101(2) 3.625(10)=11.101(2)

注:(10)代表当前数是十进制,(2)代表二进制。

如果你不知道如何手算十进制转二进制,那可以借助在线转换工具,或者用电脑自带的计算器.

2. 小学数学:科学计数法

第二步是使用幼儿园就教过科学计数法:

整数位只保留一位有效数字(没有任何有效数字的情况就是非常简单的0了)。

11.101 ( 2 ) = 1.1101 ( 2 ) ∗ 2 1 ( 10 ) 11.101(2) = 1.1101(2) * 2 ^ {1}(10) 11.101(2)=1.1101(2)∗21(10)

注:等号右边的1.1101是二进制表示法,而2^1是十进制表示法。两种混用了,这是为了方便理解。如果都用二进制表示法的话写作下面这样(都是二进制就不用标括号了):

11.101 = 1.1101 ∗ 1 0 1 11.101 = 1.1101 * 10 ^ {1} 11.101=1.1101∗101

3. 儿童观察力:提取三个元素

我们接下来要用到分辨男女卫生间的观察力

来观察一下这张图:

图中将IEEE浮点数用三种颜色标示出三个关键元素

元素 含义 详解
(蓝色)sign 符号 0代表当前数为正数,1代表当前数为负数(在这个例子中是0)
(绿色)exponent 指数 科学计数法的指数加上 2 k − 1 − 1 2^{k-1}-1 2k−1−1后转为二进制表示(k代表IEEE浮点数为指数部分预留的位数,这里是8-bit,故k=8)
(红色)fraction 小数 科学计数法中数字部分的小数部分(比如这里是1.1101的1101)

经过上面两步,我们得到的数是

1.1101 ( 2 ) ∗ 2 1 ( 10 ) 1.1101(2) * 2 ^ {1}(10) 1.1101(2)∗21(10)

那么提取出的三个关键元素就是

符 号 : 0 符号:0 符号:0

指 数 : 1 + ( 2 8 − 1 − 1 ) = 1 + 127 = 128 ( 10 ) = 10000000 ( 2 ) 指数: 1+(2^{8-1}-1)=1+127=128(10)=10000000(2) 指数:1+(28−1−1)=1+127=128(10)=10000000(2)

小 数 : 1101 小数:1101 小数:1101

4. 幼儿手工:收尾拼接

经过上面的步骤之后,答案呼之欲出

符号:0指数:10000000小数:1101

合成得到:

01000000011010000000000000000000 01000000011010000000000000000000 01000000011010000000000000000000

或者用我们的图片来表示:

附录

  1. 想要自己练习一下的话可以用这个网站对一下自己的答案是否正确:IEEE浮点数在线转换

  2. IEEE754浮点数标准

  3. 【参考链接】

    1. 科学计数法-七年级课件
    2. 转:十进制小数转化为二进制小数
    3. IEEE浮点数在线转换
    4. 奇怪的男女厕所标志
    5. IEEE754 浮点数的表示方法
    6. 浮点数图找不到了,知道的请告知
    7. 高人指点

IEEE浮点数 换算方法【超易懂详解】相关推荐

  1. 前端:深拷贝的多种方法(超全详解)

    别划走 !走过路过不要错过:错过这个村,我在下一个村等你!坚持每天进步一点点:一天两天可能没发现有效果:但一年365天后你将会感谢今天的自己!!! 今天博主带大家了解一下前端常用的深拷贝方法:(超全详 ...

  2. 浮点数的加减法运算过程详解(面向小白的)

    浮点数的加减法运算过程详解(面向小白的) 一. 浮点数在计算机内的表示 二. 浮点数的加减运算步骤 第一次写博客,难免有疏漏之处,如果有错误请批评指正,感谢! 对于浮点数的加减运算,书上写的名词太多, ...

  3. oracle home 命令,$ORACLE_HOMEbin目录下所有命令的使用方法及命令详解

    求$ORACLE_HOME/bin目录下所有命令的使用方法及命令详解 如题. $ORACLE_HOME/bin目录下有很多命令,那我们平时用到的也不是太多,即使用到的那部分可能用法也不是完全能掌握,所 ...

  4. python类是实例的工厂_Python设计模式之工厂方法模式实例详解

    本文实例讲述了Python设计模式之工厂方法模式.分享给大家供大家参考,具体如下: 工厂方法模式(Factory Method Pattern):定义一个用于创建对象的接口,让子类决定实例化哪一个类, ...

  5. python中文读音ndarray-numpy中的ndarray方法和属性详解

    NumPy数组的维数称为秩(rank),一维数组的秩为1,二维数组的秩为2,以此类推.在NumPy中,每一个线性的数组称为是一个轴(axes),秩其实是描述轴的数量.比如说,二维数组相当于是一个一维数 ...

  6. python2与python3性能对比_对Python2与Python3中__bool__方法的差异详解

    对Python2与Python3中__bool__方法的差异详解 发布时间:2020-08-28 00:08:58 来源:脚本之家 阅读:74 作者:grey_csdn 学习Python面向对象编程的 ...

  7. 大数据时代 | 数据分析方法及理论详解

    大数据时代 | 数据分析方法及理论详解 1 数据分析前,我们需要思考 像一场战役的总指挥影响着整个战役的胜败一样,数据分析师的思想对于整体分析思路,甚至分析结果都有着关键性的作用. 2 分析问题和解决 ...

  8. getordefault java_Java map.getOrDefault()方法的用法详解

    Map.getOrDefault(Object key, V defaultValue)方法的作用是: 当Map集合中有这个key时,就使用这个key值: 如果没有就使用默认值defaultValue ...

  9. mysql去重函数的使用方法_MySQL中使用去重distinct方法的示例详解

    一 distinct 含义:distinct用来查询不重复记录的条数,即distinct来返回不重复字段的条数(count(distinct id)),其原因是distinct只能返回他的目标字段,而 ...

最新文章

  1. Redis的各项功能解决了哪些问题?
  2. python-jsonrpc框架实现JsonRPC协议的web服务
  3. Ruby on Rails 的检验方法(Validation Helpers)大全
  4. html内联框上下重叠,如何解决IOS端两个内联块元素无法上下对齐的问题?
  5. 35/100. Permutations
  6. JS 中 call()、apply()、bind() 的用法
  7. 1.13 编程基础之综合应用 10 判决素数个数 python
  8. 更改计算机用户文件夹,win10系统怎么自定义C盘用户文件夹名称
  9. dataframe 如何增加新的索引_带你领略pandas中多表之间如何处理
  10. 安卓android中国象棋chess程序项目源码源代码,C/C++编程笔记:C语言打造中国象棋游戏,项目源代码分享!,c语言笔记大全...
  11. Asp.net页面之间传“大量的参数”
  12. LA3027(并查集)
  13. Gdiplus的使用
  14. mysql表锁ix_S、X、IS、IX数据库锁机制 很详细的教程,简单易懂
  15. 分析了633个中国城市之后,我们发现五分之二都在流失人口...(附统计图)
  16. A调用B方法,@Transactional事务失效情况
  17. Wireshark配置安装以及抓包教程详解(win10版)(包含TCP IP ICMP 三次握手 半扫描等相关知识 )
  18. MM采购定价条件记录表
  19. 【SQLYOG】SSH ERROR:UNABLE TO OPEN CONNECTION:GETHOSTBYNAME:UNKNOWN ERROR牵引出来的一系列问题...
  20. CAN-TP(15765-2协议)网络层协议解析

热门文章

  1. 笔记本触控板玻璃检测设备
  2. matlab洗碗机节水模型的优化设计-这是个课题名称,不是买洗碗机,审核的人仔细看下,谢谢
  3. html选择定位位置,html5的地理位置定位
  4. 如何在网上授权放贷机构查询本人信用报告?
  5. mybatis jdbcType的作用,无效的列类型错误解决办法
  6. 驾驶员困倦检测系统:带有源代码的Python项目
  7. 如果出现电脑开机没反应,鼠标键盘的灯都没亮时,但是显卡是亮着时
  8. 我常用的效率小工具,强烈推荐
  9. 提高客户转介绍率的7个方法,让你的客户成为你的推广大使!
  10. 配置Web.config 元素CustomErrors