盈彩体育注册(中国)有限公司
盈彩体育注册(中国)有限公司 您所在的位置:网站首页 盈彩体育注册(中国)有限公司 【计算机组成原理】浮点数加减法

【计算机组成原理】浮点数加减法

2024-05-06 23:15:17| 来源: 网络整理

22计算机考研交流总QQ群:1032995316

课程咨询微信号|容嬷嬷(csky-rmm)

定点、浮点表示的区别

(1)数值的表示范围

上一节我们已经知道了浮点数表示方式的优势就在于能更轻松的表示出较大的数值,若定点数和浮点数的字长相同,则浮点表示法所能表示的数值范围将远远大于定点表示法。

(2)精度

所谓精度,是指一个数所含有效数值位的位数。正所谓“有得必有失”,对于字长相同的定点数和浮点数来说,浮点数虽然扩大了数的表示范围,但精度降低了。

(3)数的运算

浮点数包括阶码和尾数两部分,运算时不仅要做尾数的运算,还要做阶码的运算,而且运算结果要求规格化,所以浮点运算比定点运算复杂。

(4)溢出问题

在定点运算中,当运算结果超出数的表示范围时,发生溢出;浮点运算中,运算结果超出尾数表示范围却不一定溢出,只有规格化后阶码超出所能表示的范围时,才发生溢出。

总的来说定点,浮点表示都是为了计算机内的数据服务,根据数据的精度及大小等因素我们就选择相应的表示方式。而定点,浮点表示各有优缺点,在字长相同的情况下定点表示的精度更佳,浮点表示的范围更广。

浮点数的加减运算

说到浮点数表示方法,怎么能不讲浮点数的运算呢?我们知道了浮点数包括阶码和尾数部分,从组成上来说比定点数复杂,因此我们针对浮点数的运算仅要求大家掌握浮点数的加减运算,接下来我们就看看浮点数加减运算的具体步骤吧!

(1)对阶

到底什么是对阶呢?我们在日常的加减运算中已经有了答案:当我们再做例如52+3的运算时,我们会将“3”与52的个位“2”对齐。这样的操作就是为了保证同一位上的数字才能产生运算,这就是一种对阶的思想。对阶的目的是使两个操作数的小数点位置对齐,即使得两个数的阶码相等。为此,先求阶差,然后以小阶向大阶看齐的原则,将阶码小的尾数右移一位(基数为2),阶加1,直到两个数的阶码相等为止。尾数右移时,舍弃掉有效位会产生误差,影响精度。

(2)尾数求和

对阶之后各数位之间就可以开始运算了,这时将对阶后的尾数按定点数加(减)运算规则运算。

(3)规格化

我们知道浮点数的运算需要规格化来保证运算的效率以及精确度。以双符号位为例,当尾数大于0时,其补码规格化形式为[S]补= 00.1××…×;

当尾数小于0时,其补码规格化形式为[S]补=11.0××…×;

可见,当尾数的最高数值位与符号位不同时,即为规格化形式。规格化分为左规与右规两种。左规与右规上一节中已经提及过具体步骤啦,这里就直接给出定义:

● 左规:当尾数出现00.0××…x或11.1××…x时,需左规,即尾数左移1位,和的阶码减1, 直到尾数为00.1××…×或11.0××·×。

● 右规:当尾数求和结果溢出(如尾数为10.××…×或01.××…x)时,需右规,即尾数右移一位,和的阶码加1。

● 这里需要注意对于左规和右规,不应死记。考查尾数的大小,左规一次相当于乘2,右规一次相当于除2;[-1/2]补 = 1.1000 不是规格化数,需左规一次,[-1]补 = 1.0000才是规格化数。

(4)舍入

● 在对阶和右规的过程中,可能会将尾数低位丢失,引起误差,影响精度。我们可以把移掉的几个高位值保存起来供舍入使用。舍入的原则就是要有舍有入,并且尽量使舍与入的机会均等从而防止误差累积。常见的舍入方法有:“0”舍“1”入法和恒置“1”法。

● “0”舍“1”入法:类似于十进制数运算中的“四舍五入”法,即在尾数右移时,被移去的最高数值位为0,则舍去;被移去的最高数值位为1,则在尾数的末位加1。这样做可能会使尾数又溢出,此时需再做一次右规。

● 恒置“1”法:尾数右移时,不论丢掉的最高数值位是“1”还是“0”,都使右移后的尾数末位恒置“1”。这种方法同样有使尾数变大和变小的两种可能。

(5)溢出判断

与定点数加减法一样,浮点数加减运算最后一步也需判断溢出。

在浮点数规格化中已指出,当尾数之和(差)出现01.××…x或10.××…x时,并不表示溢出,只能将此数右规后,再根据阶码来判断浮点数运算结果是否溢出。

浮点数的溢出与否是由阶码的符号决定的。以双符号位补码为例,当阶码的符号位出现“01”时,即阶码大于最大阶码时,表示上溢,进入中断处理;当阶码的符号位出现“10”时,即阶码小于最小阶码时,表示下溢,按机器零处理。实际上原理还是阶码符号位不同表示溢出,且真实符号位和高位符号位一致。

这一节主要向大家介绍浮点数的基本加减运算步骤,这样关于定点数浮点数的基本知识我们就基本介绍完毕啦。下一节我们就以习题为基础来检测大家对于定点数浮点数的掌握程度,大家了解完概念后一定要深度去感受这两种表示方式的异同点!

微信公众号:冯强计算机与软工考研



【本文地址】 转载请注明 

最新文章

推荐文章

CopyRight 2018-2019 盈彩体育注册(中国)有限公司 版权所有 豫ICP备16040606号-1