计算机组成原理浮点数表示

news2024/11/27 8:27:06

浮点数表示

浮点数的表示分为阶码和尾数;
比如3.026*1011;阶码是+11;尾数是3.026;
对于阶码:
阶符为正,小数点向后移n位(n表示阶的大小);
阶符为负,小数点向前移n位(n表示阶的大小);

对于尾数:
数符表示正负,数值表示绝对值的大小;
显然尾数的位数越多,表示的数字的精度越高:
3.026104=30260;
3.0265
104=30265;

阶码和尾数的表示:在这里插入图片描述
在这里插入图片描述
二进制浮点数如何确定真值?
在这里插入图片描述
阶码用E表示,尾数用M表示,r=2(阶码的底数,通常为你是二进制就是2,是十进制就是10,但是也可以是4,8等等);
所以浮点数的真值表示可以有上图公式计算得出;
在这里插入图片描述

浮点数的规格化

在这里插入图片描述
在这里插入图片描述
因此对于b: 010;0.01001;如果采用1B的空间来存储浮点数b的话,那么因为是9位:010001001,所以最后一位1会被舍弃,从而丢失了一些精度;但是数值位的最高位(符号位必须保留)却是0,是无效的数值位;因此对于b可以进行规格化:将尾数的数值位全部左移一位,0.01001变成了0.1001,同时阶码-1:010->001;于是就保留了精度;010 0 01001 -》001 0 1001(8位)

双符号位与溢出的挽救

在这里插入图片描述

尾数的表示范围

1.用原码表示的位数的表示范围(数值位的最高位必须是1,如果最高位不是1需要进行规格化,因为最高位是0的话是无效位)

在这里插入图片描述
类比定点小数的表示范围:
在这里插入图片描述
重述一下顶点小数的补码的表示范围为什么是-1~ 1-2-(n-1)
对于定点整数
设位数一共为8位
原码表示范围为 -127-127,即1111 1111~0111 1111
反码表示范围为 -127-127,即1000 0000~0111 1111
补码表示范围为 -128-127,即1000 0000~0111 1111
我们可以尝试求一下-128的原码,但可以发现7位二进制表示不出来,必须得用8位二进制表示,但这样符号位就被占用了。但由于上面说的补码比原码和补码少一个0的表示方法,这就让补码多了一个10000000来表示其他的数,这里具体的细节我也不是很懂@_@,但可以这样记吧,-1到-127已经有对应的原码和补码了,所以也会有对应的补码,而10000000首位是1代表负数,不能和其他数的表示起冲突所以就是-128了。由此,补码可以表示128个负数,1个0以及127个负数共256个数

对于定点小数
还是设位数一共8位
原码表示范围为1.111 1111 ~0.111 1111,即-127/128到127/128
反码表示范围为1.000 0000~0.111 1111,即-127/128到127/128
补码表示范围为1.000 0000~0.111 1111,即-1到127/128
在这里原码和反码都好理解,就是补码会有一个问题,为什么补码会有一个1.000 0000而且居然对应的值是-1,也就是说如果小数用补码表示的话最小值是-1。这里如果用一开始说的取反加一你会发现根本不是这个值。之后才知道取反加一靠的是原码,但看前面原码的定义公式你会发现原码根本表示不了定点小数-1,原码所能表示的是定点整数-1,定点小数-1这里严谨一点的话其实是-1.0。
这里要求定点小数-1.0的补码的话就要用到上面的补码定义公式了(要不然我怎么会贴hhh),由公式可知,-1.0的补码为2+X = 2-1.0 = 1.000 0000
当然也有这样的理解
总结:由于补码表示0的唯一性,补码比原码少一个-0的表示,多一个-1的表示以及负整数表示范围多了一个-128
PS:主要是把自己最近碰到的问题写一下让自己记牢一些。其实如果把上面贴的几个公式吃透的话这些问题根本不会有的orz,注意对比原码反码补码边界的取值你会发现其实说的就是这些东西orz

有关定点整数和小数的表示范围详细还请参考传送门

对于用补码表示的尾数的取值范围,当符号位是1的时候数值为最高位必须是0,符号位为0的时候,数值位的最高位是1,这样有利于硬件的设计;
在这里插入图片描述

补码表示的浮点数的规格化

在这里插入图片描述

1.1110100 -> 1.0100000然后110要-3->011;
结果0011;1.0100000;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/4044.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基础IO(上)——Linux

文章目录1.储备知识2. 文件描述符2.1 c接口2.2 直接使用系统接口2.3 open函数返回值2.4 文件描述符fd2.5 周边文件3. 重定向3.1 输出重定向3.2 输出重定向3.3 追加重定向3.4 dup4. 如何理解一切皆文件?1.储备知识 对文件的操作范畴: 在系统角度理解文件 …

R语言生物群落数据统计分析

R 语言作的开源、自由、免费等特点使其广泛应用于生物群落数据统计分析。生物群落数据多样而复杂,涉及众多统计分析方法。本教学以生物群落数据分析中的最常用的统计方法回归和混合效应模型、多元统计分析技术及结构方程等数量分析方法为主线,通过多个来…

中医-通过舌象判断身体状况

本文分享通过舌象判断身体的整体状况(中医角度),得出一个可供辨证的参考,并且可以根据舌象做出相关的饮食调整,本文主讲理论,相关舌象图片易引人不适,如需找相关图片,可根据本文中的…

【SpringBoot】一文了解SpringBoot配置高级

文章目录前言ConfigurationProperties使用场景小结宽松绑定/松散绑定🌕博客x主页:己不由心王道长🌕! 🌎文章说明:SpringBoot配置高级🌎 ✅系列专栏:SpringBoot 🌴本篇内容&#xff1…

javaweb JavaScript快速入门 对象 BOM DOM 事件监听

JavaScript 引入方式 1.内部脚本:将 JS代码定义在HTML页面中 2.外部脚本:将 JS代码定义在外部 JS文件中,然后引入到 HTML页面中 JavaScript 基础语法 windows.alert可以省略windows var: 1.作用域为全局变量 2.变量可以重复定义 &#xf…

半桥LLC谐振变换器及同步整流MATLAB仿真(一)

在开关电源中,LLC谐振变换器是最常见的DC-DC变换器之一。 LLC谐振电路早在上世纪80年代就已经提出,到如今仍有广泛的应用,可见其优越性。其优点表现在: 1.LLC的开关器件能实现软开关,开关损耗小 2.效率高、功率密度大 …

[附源码]计算机毕业设计JAVA 宠物医院管理系统

[附源码]计算机毕业设计JAVA 宠物医院管理系统 项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybati…

计算结构体大小(内存对齐原则)struct、union、class

这篇博客详细的介绍结构体的大小sizeof:union、struct、class。 一、不同数据类型所占的内存大小: 二、union联合体的结构体大小 1、关注点: (1)联合体的大小为所有成员变量中所占字节数最大的; &#xf…

【Redis 常用五大数据类型】

常用五大数据类型 官方获取redis常见数据类型操作命令: http://www.redis.cn/commands.html 1.Redis键(key) keys * 查看当前库所有key (匹配:keys *1) exists key 判断某个key是否存在 type key 查看你的key是什么类型 del key 删除指定的key数据 unli…

springmvc1:初探springmvc

一.springmvc简介 1.springmvc是什么? ①mvc解释 m:模型层(javabean处理数据)例如pojo类 Service或Daov:视图层(页面展示数据)c:控制层(接受请求和响应浏览器&#xf…

python基于PHP+MySQL 校园二手闲置商品交易系统

每年我国都有几百万的学生参加高考,当学生接到高校的录入通知书的那一刻就要学会独立生活了,大多数学生一般都要奔袭到离家几百设置几千公里之外的地方进行求学,这对初次离开父母远离家乡求学的学子来说是人生的一次挑战。为了能够更好的适应高校的环境,他们的入校之初或者在日…

【Qt】QMainWindow |QDialog对话框

文章目录1、QMainWindow1.1 菜单栏1.2 工具栏1.3 状态栏1.4 停靠部件1.5 核心部件(中心部件)1.6 使用UI文件创建窗口1.6.1 UI设计窗口介绍1.6.2 菜单1.1.6.1 添加/删除菜单栏1.1.6.2 添加菜单1.1.6.3 添加菜单项1.1.6.4 添加多级菜单1.6.3 工具1.1.6.1 添…

机器学习入门(六)神经网络初识

目录 一、模型解释 1.1 用人脑解释 1.2 用模型解释 二、通过异或门的神经网络理解偏置量、神经网络的传播 2.1 与门的神经网络表示 2.2 或门的神经网络表示 2.3 异或门的神经网络表示 三、多物体分类 一、模型解释 1.1 用人脑解释 神经网络是模拟人的神经元&#…

Windows上的实用CMD命令

Windows上的实用CMD命令查看系统信息是x64位查看电脑基本诊断信息检查电脑支持的最大运行内存查看内存信息查看Windows电脑上次的启动时间查看显卡信息查看电脑当前的用户名查看当前的用户是不是电脑的管理员用户查看路由信息 route print查看Windows 的version申明&#xff1a…

从心灰意冷到自学Java3个月顺利拿到offer,多亏这份文档

跳槽时时刻刻都在发生,但是我建议大家跳槽之前,先想清楚为什么要跳槽。切不可跟风,看到同事一个个都走了,自己也盲目的开始面试起来(期间也没有准备充分),到底是因为技术原因(影响自…

Allegro172版本Shape避让方形盘不出现弧形操作指导

Allegro172版本Shape避让方形盘不出现弧形操作指导 Allegro172版本避让方形焊盘的时候,不会像166版本一样避让成方形,如下图 只需要按照下面的操作就可以实现和166版本方形避让一样的效果 打开shape Global dynamic parameter 选择Void Controls Rectangle pad viod cor…

java常见题

1.数组和链表结构简单对比?(ArrayList和linkedList) 数组是一段连续的空间。 大小固定 可能大小不够用或者有浪费 数组查询比较方便,根据下标就可以直接找到元素,时间复杂度O(1);增加和删除比较复杂&…

“双11”来了!企企通B2B商城助力打造供销一体数字化解决方案

今年的“双11”,比往年来得更早。10月20日晚上8点,双11第一波预售开启。电商平台的竞争愈发激烈,直播卖货的崛起更是加重了行业的竞争压力。但淘宝、天猫、京东这类传统的电商平台因其完善且成熟的供应链,使得双11淘宝系主场格局不…

Redis进行RCE利用总结

https://www.cnblogs.com/loongten/p/15838580.html 0x00 简要说明 百度百科:Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库&am…

什么才是好代码?

定义代码质量高低,本来就是主观的,更多的是出于判断。为了做出更客观的评判,我个人 认为有益的做法是后退一步,考虑一下编写代码时真正试图实现的目标。在我看来,帮助我实现这些目标的代码就是高质量的,而产…