首页 > 其他分享 >计算机组成原理 第六章 计算机的运算方法 Part4 浮点数的四则运算、IEEE754标准与ALU的工作原理

计算机组成原理 第六章 计算机的运算方法 Part4 浮点数的四则运算、IEEE754标准与ALU的工作原理

时间:2024-06-09 22:59:13浏览次数:30  
标签:阶码 计算机 尾数 浮点数 补码 移码 原理 规格化

1.浮点数介绍

基本格式

首先需要明确的是浮点数的组成,浮点数由阶码和尾数两部分组成
其中阶码又分为阶符和数值部分,阶码J和阶码的位数m共同反应浮点数的表示范围以及小数点的实际位置;尾数由数符和数值部分组成,数符代表浮点数的符号,尾数的数值部分反映浮点数的精度

例:

阶码E反映浮点数的表示范围及小数点的实际位置
尾数M的数值部分反映浮点数的精度
阶码和尾数的表示:
阶码:常用补码或移码表示的定点整数
尾数:常用原码或补码表示的定点小数
浮点数的真值:N=r^E*M,其中r为阶码的底,通常为2 

 

规格化 

表示范围


运算结果大于最大正数时称为正上溢,小于绝对值最大负数时称为负上溢,正上溢和负上溢统称上溢。
数据一旦产生上溢,计算机必须中断运算操作,进行溢出处理。
当运算结果在0至最小正数之间时称为正下溢,在0至绝对值最小负数之间时称为负下溢,正下溢和负下溢统称下溢。
数据下溢时,浮点数值趋于零,计算机仅将其当作机器零处理。

IEEE754

浮点数的表示主要用的是IEEE标准

IEEE 754标准的浮点数(除临时浮点数外),是尾数用采取隐藏位策略的原码表示,且阶码用移码表示的浮点数。
以短浮点数为例,最高位为数符位;其后是8位阶码,以2为底,用移码表示,阶码的偏置值为28-1-1= 127;其后23位是原码表示的尾数数值位。
对于规格化的二进制浮点数,数值的最高位总是“1”,为了能使尾数多表示一位有效位,将这个“1”隐含,因此尾数数值实际上是24位。隐含的“1”是一位整数。
在浮点格式中表示的23位尾数是纯小数。
将它规格化后结果为1.1x2^{3}, 其中整数部分的“1”将不存储在23位尾数内。

因为IEEE754的阶码部分用的是移码表示,所以我们先回顾一下移码的概念,在我们学习原码,反码,补码和移码的时候,对于移码给出的定义是:在补码的基础上将符号位取反(移码只能表示整数),移码真正的定义为:移码=真值-偏置值

在IEEE754标准中,偏置值等于127D=01111111B
需要特别注意的是,对于规格化的二进制浮点数,数值的最高位总是“1”,为了能使尾数多表示一位有效数字,将这个“1”隐含

 

具体规则

 2.浮点数运算

加减


1对阶:使两个操作数的小数点位置对齐,即使得两个数的阶码相等。遵循的原则是小阶向大阶看齐。如果尾数右移,阶码加1,尾数左移,阶码减1
2尾数加减:对阶后的尾数按定点数渐渐规则运算
3规格化:由于IEEE754尾数采用的是补码表示,前面的知识我们知道补码规格化后,符号位与最高数值位一定相反,故当尾数最高数值位与符号位不同时才为规格化形式。这里也分为左规和右规
左规:当尾数为00.0xxx或11.1xxxx时左规,尾数左移一位,和的阶码减1
右规:当尾数求和结果溢出时(尾数为10.xx或01.xx)时右规,右规尾数右移一位,和的阶码加1 注意:高位补位时看双符号位的更高位,因为双符号位的跟高位的符号才是正确的符号
4舍入:在对阶和右规的过程中可能会将尾数的低位丢失从而引起误差,故须用”0“舍”1“入法或恒置”0“法,这里就不再赘述
5判溢出

具体例题

 

 

左规右规

 

 

舍入 在对阶和右规过程中,可能出现尾数末位丢失 引起误差,需考虑舍入 (1)“0 舍 1 入”法 (2)“恒置 1”法 溢出判断 设机器数为补码,尾数为规格化形式,并假设 阶符取 2 位,阶码取 7 位,数符取 2 位,尾数 取 n 位,则该补码在数轴上的表示为
乘除

3.ALU

ALU—算术逻辑单元

1.功能

2.基本结构

3.ALU芯片

加法器

(1)基本的一位全加器

在这里插入图片描述

(2)串行加法器

在这里插入图片描述

(3)并行加法器

1.串行进位的并行加法器

在这里插入图片描述

2.并行进位的并行加法器

在这里插入图片描述
在这里插入图片描述

标签:阶码,计算机,尾数,浮点数,补码,移码,原理,规格化
From: https://blog.csdn.net/m0_73379721/article/details/139480142

相关文章

  • 深入剖析C++多态的实现与原理-详解
    目录多态基础虚函数虚函数的继承虚类/虚基类重写/覆盖条件:概念:多态的条件其他的多态行为多态中子类可以不写virtual协变代码举例继承遗留问题解决析构函数具体解决方式:题目1答案:解析:题目2答案:C++11override和finalfinal功能1:禁用继承使用场景:功能2:禁用重写使用场景overr......
  • 计算机网络知识CIDR(无类别域区间路由)
    目录介绍基本信息优点与关联如何计算判定范围(你应该是来看这个的,前面是水字数的)省流版介绍无类别域间路由(ClasslessInter-DomainRouting、CIDR)是一个用于给用户分配IP地址以及在互联网上有效地路由IP数据包的对IP地址进行归类的方法。建议直接看第三个标题基本信......
  • 如何学好一门计算机语言
    我想进入安卓逆向的学习了。则我必然要学很多新的语言,java,kotlin,c++/c,smali等等。那我必须要弄明白:1.学一门语言,到底要学什么东西?2.达到什么标准,算是学好了。要学语言的基础语法,比如运算,变量,常量,循环,分支,函数等,具体的写法。要学语言的特征,每种语言应该都有其特点的,要清楚其......
  • 计算机组成原理-cache详解
    一、Cache的概念和原理1、cache原理2、cache性能分析一道例题3、cache和主存数据交换的单位每次访问到的主存块会立即放入cache中小结二、cache和主存之间的映射关系全相联映射全相联访存过程直接映射组相联映射小结三、cache替换算法在直接映射中,每......
  • 计算机组成原理之指令寻址
    一、顺序寻址1、定长指令字结构2、变长指令字结构二、跳跃寻址三、数据寻址1、直接寻址2、间接寻址3、寄存器寻址寄存器间接寻址4、隐含寻址5、立即寻址6、偏移寻址1、基址寻址2、变址寻址3、相对寻址......
  • PHP“well”运动健身APP-计算机毕业设计源码87702
    【摘要】随着互联网的趋势的到来,各行各业都在考虑利用互联网将自己的信息推广出去,最好方式就是建立自己的平台信息,并对其进行管理,随着现在智能手机的普及,人们对于智能手机里面的应用“well”运动健身app也在不断的使用,本文首先分析了“well”运动健身app应用程序的需求,从系统......
  • SpringBoot社区配送服务系统小程序-计算机毕业设计源码88705
    摘要随着科学技术的飞速发展,社会的方方面面、各行各业都在努力与现代的先进技术接轨,通过科技手段来提高自身的优势,社区当然也不例外。社区配送服务系统小程序是以实际运用为开发背景,运用软件工程原理和开发方法,采用Java技术构建的一个管理系统。整个开发过程首先对软件系统进......
  • 【计算机毕业设计】277微信小程序医院挂号系统
    ......
  • 【三级指针、二级指针、一级指针、指针值】原理+超直白说明/总结(当然,还是会有点涩~)
    看不懂的原理及区别在计算机编程中,指针是一个变量,其值为另一个变量的地址。指针的级别是根据它们所指向的对象类型来定义的。当我们谈论“一级指针”、“二级指针”和“三级指针”时,我们实际上是在讨论指针所指向的对象的类型。1.一级指针一级指针(或称为普通指针)是最常......
  • 计算机网络个人笔记
    ARP过程简易叙述想要与对端主机通信首先查看本地高速缓存表中是否有到对端主机的地址,如果本地缓存未老化或者自清除,有则直接让网关转发;没有地址则开始进行ARP广播向网关请求已知通信IP地址的Mac地址。网关收到ARP请求地址查询本地路由表为其进行下一步,如果本地路由表没有查到请......