200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > 计算机组成原理 浮点数阶码运算.个人笔记

计算机组成原理 浮点数阶码运算.个人笔记

时间:2021-05-16 20:36:48

相关推荐

计算机组成原理 浮点数阶码运算.个人笔记

浮点数阶码运算

IEEE浮点数IEEE浮点数的组成IEEE浮点数的加减法,以阶码为3为,尾数为6为举例第一步对阶,小阶对大阶第二步加减第三步.规格化处理第四步,舍入处理第五步,溢出判断

IEEE浮点数

IEEE浮点数的组成

1 10000011 1001001000000000000000

第一位为符号位,1表示负数,0表示正数

第2~9位共8位为阶码,

阶码是由阶码真值加上01111111(127)形成的

第10~32共23位为尾数

尾数前面省略了一个1,因此真实的尾数前面应该多一个1,这是IEEE浮点数规矩

因此该数表示的真实的数是 -00000*1.1001001000000000000000

IEEE浮点数的加减法,以阶码为3为,尾数为6为举例

X = 2-011 * 0.100101 Y = 2-010 *(-0.011110)

X = 11101 00.100101

第一步对阶,小阶对大阶

可以看到Y的尾数小数点前后都是0,不符合规格化浮点数的定义

因此对Y进行规格化,对Y进行左移,阶码减一

Y = 2-011 *(-0.111100)

Y = 11101 11.000100

可以看到X和Y是同阶的,因此不需要对阶

第二步加减

加:X+Y = 00.100101 + 11.000100 = 11.101001

减:X -Y = 00.100101 + 00.111100 = 01.100001

00.111100是Y的尾数的负数的补码

第三步.规格化处理

正数的反码补码和原码相同

只有负数才需要对补码和反码进行处理

规格化的六种情况

尾数用双符号位表示运算后的结果有下面6种情况

①:00.1XX…X

②:11.0XX…X

③00.0XX…X

④11.1XX…X

⑤01.XXX…X

⑥10.XXX…X

①②两种情况符合规格化浮点数的定义

③④两种情况不是规格化数,需要使尾数左移实现规格化,尾数每左移一次,阶码需要减1

⑤⑥这两种情况在定点加减运算种成为溢出,但在浮点加减运算中只表明此时尾数的绝对值大于1,而非真正的溢出,这种情况应将尾数右移实现规格化,尾数每右移一位,阶码响应加1

加:X+Y = 00.100101 + 11.000100 = 11.101001

可以看到小数点前后相同,因此需要左移一次,成为11.010010,然后阶码减一

结果为== 11100 11.010010==

减:X -Y = 00.100101 + 00.111100 = 01.100001

可以看到符号位两位不同,结果应该是溢出了,因此需要右移一次,阶码加一

结果为11110 00.110000(1)

第四步,舍入处理

X+Y:11100 11.010010无需进行舍入处理,转换为原码后结果为2-100*(-0.101110)

X-Y:11110 00.110000(1) 按照0舍1入的原则.结果为== 2-010*(0.110000)==

第五步,溢出判断

如果右规后,仍然不符合规格化浮点数的定义,说明此时运算结果溢出

当[Ec]补 =01,XXX…X,表示上溢.此时,浮点数真正溢出,机器需停止运算,做溢出中断处理

当[Ec]补=10,XXX…X,表示下溢.浮点数值趋于0,机器不做溢出处理,而是按机器0处理

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。