初步了解机器中浮点数表示方法

article/2025/10/15 23:30:28

浮点数是小数点位置变化的数,能表示的范围比定点数大很多。

比如二进制数11.11可以表示为111.1×2-1或1.111×21等,我们由此规律能得到二进制数更一般形式N=2E×F,E称为阶码,F称为尾数。这个数在机器里怎么存呢,是把正负符号、2、E、E的正负号、F转为01序列存起来吗?

如果由我们自己来设计计算机,这样的确可以,不过总有人会想出更聪明的办法。首先符号位必须占一位,2可以省略不存,默认的。阶码E转为移码存,这样就不用存阶码的正负符号了。最后是很讲究的尾数,尾数为0当然直接存0,不为0时,尾数域的最高位必须为1,比如0.001×20必须要变0.1×2-2,也就是小数点后不能为0,像0.001小数点后为0,就要变化阶码,使得小数点移到1前变成0.1,然后只存小数点之后的数,这个过程叫尾数规格化。

所以一般来说,浮点数的机器码表示如下:

符号位阶码 (移码)尾数(定点小数)

现实中具体到底如何实现有许多方法,比如阶码放在尾数后,符号位放在阶码后,阶码用补码表示等。
用一道题目来帮助理解:
在这里插入图片描述
在这里插入图片描述
如图1所示为计算机中16位浮点数的表示格式。
某机器码为1110001010000000。
若阶码为移码且尾数为反码,其十进制真值为 (1) ;
若阶码为移码且尾数为原码,其十进制真值为 (2) ;
若阶码为补码且尾数为反码,其十进制真值为 (3) ;
若阶码为补码且尾数为原码,其十进制真值为 (4) ,将其规格化后的机器码为 (5) 。
(1) ~ (4)
A.0.078125
B.20
C.1.25
D.20.969375
(5)
A.1110001010000000
B.11110101000000
C.1101010100000000
D.11110001010000

我的分析:
(1)阶码为移码,即1110为移码,对应原码为0110,其十进制真值为6,尾数001010000000为反码,正数反码换成原码为原形式,其对应十进制真值为2-2+2-4=0.3125,所以整个数十进制真值为26×0.3125=20
(2)阶码为移码,尾数为原码,和(1)是一样的。

(3)阶码为补码,补码1110对应的原码为1010,即-2,尾数为反码,(1)已经分析过为0.3125,则整个数十进制真值为2-2×0.3125=0.078125
(4)阶码1110为补码,真值为-2,尾数为原码,同(3)

(5)浮点数规格化表示,是尾数值不为0时,尾数域最高有效位要为1,比如0.001×20必须要变0.1×2-2, 题目中尾数域为001010000000第一个0为符号位不管,第二个0是可以消去的,变成010100000000,这样消去后,阶码要相应地减1变为1101,故规格化后的机器码1101010100000000

有个名叫IEEE-754的标准就统一了浮点数具体实现方法,目前大多数高级语言都按照IEEE-754标准来规定浮点数的存储格式,比如Java,还有我们熟知的C语言。

按IEEE-754标准定义的单精度浮点数float:

符号位阶码 (移码)尾数(定点小数)
0位1~8位9~31位

双精度浮点数double

符号位阶码 (移码)尾数(定点小数)
0位1~11位12~63位

IEEE-754中尾数的规格化有所不同,之前我们说尾数规格化规定小数点后为1,IEEE-754中就将此固定的1设为默认值去掉了,因此尾数域表示的值为1.xxxx(只存储xxxx,1是默认有的),这样使得尾数表示范围多上一位。

IEEE-754中阶码的移码也有特别规定,要除去阶码的全0和全1状态,因此像float中阶码的取值不是0~255,而是1 ~ 254,也就是说这里的阶码的移码不是简单地由补码变符号而来,还要减1,换个说法就是偏移量不为128了,而为127。所以对于float来说,真正指数的范围为-126 ~+127,所表示的数范围也就为2-126 ~2127即10-38 ~1038
举个栗子
在这里插入图片描述
将176.0625表示为符合IEEE-754标准的单精度浮点数。

  1. 首先将176.0625化为二进制:10110000.0001
  2. 尾数规格化:1.01100000001×27,因此尾数域求出来了,为01100000001
  3. 阶码的移码:7的二进制为00000111,移码为10000110。
  4. 拼接:0 10000110 01100000001000000000000
    尾数域记得要补0使尾数有23位。

http://chatgpt.dhexx.cn/article/OdIeu1t6.shtml

相关文章

32位浮点数表示方法

今天开始给大家介绍计算机组成原理课程,本文主要内容是32位浮点数表示方法。 一、32位浮点数构成 32位浮点数是计算机中常见的一种数据类型,该数占据32bit空间,可以表示较大范围内的整数和小数。32位浮点数由三部分组成,分别是符…

浮点的表示方法

浮点表示方法 一、浮点的表示方法一、单精度类型(float)二、双精度类型(double)三、IEEE 754标准 单精度名称本身的含义是“单字长精确的程度”。跟什么32位、64位有没有关系, 取决于系统支持的字长(word)是几个字节(…

浮点数的表示方法

把一个数的有效数字和数的范围在计算机的一个存储单元中分别予以表示。这种把数的范围和精度分别表示的方法,相当于数的小数点位置随比例因子的不同而在一定范围内可以自由浮动,所以称为浮点表示法。 在计算机中一个任意二进制数N可以写成: …

IOS磁力下载软件,老司机必备品

软件名为袋鼠下载,一款比较傲娇的APP目前仅支持iOS端,全程使用无广告无弹窗,关键支持任何资源的下载,直链、磁力、BT什么的通通不再话下,也不会针对性的进行限速,这样的免费产品在Android中都属不多见的精品…

这2个在线资源网千万别错过,老司机人手一份,一年省下好几千

早些时候,国内的电影资源网站大部分是搬运了国外的破解资源,并非自己 “ 原创 ” 出来的,这两天很多人都在想尽办法求《哪吒》熟肉资源,我们这边的电影院已经下播了,然后大家也知道,新出的电影在下播之后也…

实用的在线网站

目录 文档类 1. 轻松玩转PDF 2. Convertio:在线的文件转换器 3. CleverPDF 4. vvv文档在线导出工具 5. 微信公众号格式化编辑器 6. Process On:免费在线作图,实时协作 7. ALL TO ALL(在线格式转换) 8. Office…

Linux在线安装jdk

Linux在线安装jdk 远程连接Xshell后,切换到root用户(使用su命令切换到root用户) 使用cd命令切换到/usr目录(/usr目录:用户的很多应用程序和文件都放在这个目录下面,类似于windows下的program files目录) cd /usr在/usr下创建目录java&#x…

想要成为python大神,这17个老司机收藏的国外免费学习网站不可错过!

用Python编写代码一点都不难,事实上它一直被赞誉为最容易学的编程语言。 如果你准备学习web开发, Python是一个不错的开始,甚至想做游戏的话,用Python来开发游戏的资源也有很多。 许多程序员都把Python作为编程之旅的开始,然后是像PHP和Ruby这样的语言。它也是最热门的W…

老司机谈鉴黄,新一代“鉴黄师”是如何养成的?

在互联网高速发展的今天,直播平台,内容社区,视频网站等UGC/PGC平台蓬勃发展,如雨后春笋般出现。但巨大的安全隐患也接踵而至,内容审核成为企业最关键的一道防火墙。企业招聘大量的内容审核专员来应对包括色情、暴力、犯…

福利:tumblr五年驾龄老司机必备利器

大名鼎鼎的tumblr不用多说,分享几个非常好用的软件工具,全都是亲测好用 如果你发现更好用的工具,tell me tell me 官方app Tumblr 安卓版 Tumblr iOS版 下载视频 电脑端 win:维棠 推荐此软件可批量下载某个博主的视频&#xff0c…

IT老司机福利 | 这十多个新姿势你知道吗?

1024这个数字, 相信不少纵横IT界的老司机都十分熟悉 1024=2^10 1024字节=1KB +1024还是网络流行语 …… 然而 每天早出晚归的IT老司机 只掌握一个知识点是不行的 不upgrade自己 学习新姿势怎么棒棒? 3月24日 本周五 BingoDay2017

分享7个比B站更刺激的老司机网站,别轻易点开

俗话说摸鱼一时爽,一直摸一直爽,作为一个程序员老司机了,一头乌黑浓密的头发还时不时被同事调侃,就靠这10个网站让我健康生活,不建议经常性使用,因为还有一句俗话,那就是“摸鱼一时爽&#xff0…

老司机必备!这款神器下载速度惊人!

奶糖猫来啦!BT磁力下载大家应该都听过吧,如果是位老司机的话,那就更熟悉了。没用过也不要紧,但用过你就会爱上Ta,下电影、下资料...都很方便,只要有你需要那份资源的下载链接即可! 今天给大家搜…

老司机必备-安卓+PC磁链下载播放工具

安利几个手机端的种子搜索 & 播放神器 小磁力BT yama试以下复联4,资源还是比较全的。 点选需要的资源,通过磁链下载, 支持在线播放磁链的APP和网站 磁力播 这个老司机不知道是没可能的,不要问我为什么,因为我也是…

被这5个资源网站惊到了!老司机秒懂!

每次遇到什么不会的东西,第一时间想到的就是--上百度!实际上我们在百度上也只会翻看前面两页,相信没有多少人会一直翻看后面的内容。这样直接导致我们搜索的内容很有局限性。 实际上我们可以在别的搜索引擎网站进行搜索,这些资源百度都不一定搜索出来!

超强、超稳、超丰富。老司机看片,咱都懂!

龙虾影视(安卓) 蓝光画质体验: 。 资源丰富度: 影视资源方面,聚合了各大影视平台的高质量影视资源,所以在这里你可以肆无忌惮的搜你想看的大片哦!片源十分丰富很nice~ TV投屏功能: 之…

这几个免费资源网站太强了!老司机们都收藏了!

简介 这几个资源网站是我见过资源最牛、最全、最丰富的网站,1000000…00T都装不下,老司机们都震惊了。强烈建议老司机们收藏!关键是都是免费的!!!本篇文章可以用来免费看片、认真学习、安全开车&#xff0…

嘘,别说话,老司机在线看大片!

又到了一年一度的国庆假期啦!先祝大家节日快乐,假期肯定少不了追剧,所以今天给大家分享一个在线看片的网站,之前也陆续分享了不少类似的网站,但大都已经失效了,今天也算是给大家补上了,这个网站…

卧槽!这 TM 才是真正的老司机看片神器!!!

今天给大家介绍一款特别的看剧网站,这个奈飞星网站可以直接免费观看Netflix上的资源。 这个网站,所有的资源都是超清画质,可以说这个网站是观看画质最高清的一个网站了。 至于电影的加载速度,在正常网络环境下,非常流畅…

数据库优化原则

最近数据库课程设计,我总结了一下数据库的优化方法,希望对有需要的人能有帮助: 1.对查询进行优化,尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 2.应尽量避免在 where 子句中对字段进行 nul…