浮点数加减运算

浮点数加减运算

ID:40854608

大小:116.00 KB

页数:9页

时间:2019-08-08

浮点数加减运算_第1页
浮点数加减运算_第2页
浮点数加减运算_第3页
浮点数加减运算_第4页
浮点数加减运算_第5页
资源描述:

《浮点数加减运算》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、如果一个二进制浮点数的尾数的绝对值小于1并且大于等于0.5,(1>

2、尾数

3、≥0.5),那么这个二进制浮点数就是一个规格化的浮点数。用二进制补码表示1个规格化的浮点数,并且规格化的浮点数的尾数只有一个符号位时:规格化的浮点数的尾数是正数时应该是0.1XXXXXXXXX……的形式(0表示符号位,X表示0或1中的任意一个数值)规格化的浮点数的尾数是负数时应该是1.0XXXXXXXXX……的形式(1表示符号位,X表示0或1中的任意一个数值)用二进制补码表示1个规格化的浮点数,并且规格化的浮点数的尾数只有两个符号位时:规格化的浮点数的尾数是正数时应

4、该是00.1XXXXXXXXX……的形式(00表示符号位,X表示0或1中的任意一个数值)规格化的浮点数的尾数是负数时应该是11.0XXXXXXXXX……的形式(11表示符号位,X表示0或1中的任意一个数值)两个浮点数加减法的计算结果必须规格化,如果不是规格化的数,则要通过修改阶码并同时左移或者右移尾数,使其变为规格化的数。[例]x=2010×0.11011011,y=2100×-0.10101100,浮点数均以补码表示,阶码采用双符号位,尾数采用单符号位。求x+y。答:(步骤1)转换成题目中要求的浮点数格式:浮点数x=2010×0.110

5、11011的阶码是+010,尾数是+0.11011011浮点数均以补码表示,所以阶码以补码表示,并且阶码采用双符号位,[x]浮的阶码=00010(00是两个符号位)浮点数均以补码表示,所以尾数以补码表示,并且尾数采用单符号位,[x]浮的尾数=0.11011011(0是1个符号位)浮点数y=2100×-0.10101100的阶码是+100,尾数是-0.10101100浮点数均以补码表示,所以阶码以补码表示,并且阶码采用双符号位,[y]浮的阶码=00100(00是两个符号位)浮点数均以补码表示,所以尾数以补码表示,并且尾数采用单符号位,[y]

6、浮的尾数=1.01010100(1是1个符号位)(y=2100×-0.10101100中10101100先取反变为01010011,再加1后变为01010100)[x]浮=00010,0.11011011;[y]浮=00100,1.01010100;(步骤2)阶数对齐:x的阶码是+2(二进制00010),y的阶码是+4(二进制00100),阶码小的向阶码大的数对齐,x的阶码向y的阶码对齐。x的阶码加2,从00010变成00100,此时x的阶码与y的阶码相等。[x]浮尾数0.11011011右移两位(小数点不动,左边添加两个符号位,因为x的

7、尾数是正数,所以添加的两个符号位是0),[x]浮尾数变为0.00110110(11)0.11011011(右移两位,小数点不动,左边添加两个符号位)0.00110110(11)因为x的阶码与y的阶码相等,都是00010,所以把x的尾数与y的尾数相加。(步骤3)尾数相加0.00110110(11)+  1.01010100————————————————   1.10001010(11)注意:因为y的尾数没有对应的位数,所以(11)直接落下来进入结果;x尾数的符号位0与y尾数的符号位1同样参与到加法运算。(步骤4)判断计算结果是否溢出:当计

8、算结果的尾数只有一个符号位时,符号位与小数点后第一位相等,则没有溢出;如果符号位与小数点后第一位不等,则产生溢出。一旦发生溢出,计算结果的尾数右移一位,同时阶码加一。本题中计算结果的尾数是1.10001010(11),其中符号位是1,小数点后第一位是1,二者相等,没有溢出。(步骤5)判断计算结果是否满足规格化:用二进制补码表示1个规格化的浮点数,并且规格化的浮点数的尾数只有一个符号位时:规格化的浮点数的尾数是正数时应该是0.1XXXXXXXXX……的形式(0表示符号位,X表示0或1中的任意一个数值)规格化的浮点数的尾数是负数时应该是1.0

9、XXXXXXXXX……的形式(1表示符号位,X表示0或1中的任意一个数值)本题中计算结果的尾数是1.10001010(11),不满足规格化的浮点数的尾数是负数时应该是1.0XXXXXXXXX……的形式,因此不是规格化的浮点数。为了规格化,本题中计算结果的尾数是1.10001010(11),左移1位,同时阶码减一。(只能左移,而且左移1位就可以了)原来的计算结果[x+y]浮=00100,1.10001010(11);规格化后(尾数左移1位,小数点不动,右边添加一个0;同时阶码减一)[x+y]浮=00011,1.00010101(10);尾数

10、1.00010101,满足规格化的浮点数的尾数是负数时应该是1.0XXXXXXXXX……的形式,因此是规格化的浮点数。(步骤6)计算结果舍入处理就近舍入(0舍1入)法:类似”四舍五入”,丢弃的

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。