我是靠谱客的博主 忧心高跟鞋,这篇文章主要介绍【计算机组成原理】浮点数的表示浮点数的表示浮点数尾数的规格化原码和补码的规格化,现在分享给大家,希望可以做个参考。

浮点数的表示

由于定点数的局限性,表示范围很有限,不能无限的增加表示的范围。

科学计数法:302657264526=3.026*10^11

将指数表示为阶码,前面表现数值的为尾数

+11 +3.026

阶符阶码数值部分数符尾数的数值部分
JfJ1J2…JmSfS1S2…Sn

尾数越长,表示的精度就越高。

设阶码为E,尾数为M,r为进制。r通常为2.

则N=rE*M

E反应了数据范围和小数点的精确位置,M反应了数据的精确度

Ex:下面的a和b均用补码表示了阶码和尾数,求真值。
a = 0,01;1.1001
b = 0,10;0.01001
a:阶码为+1,尾数的真值为-0.0111
小数点后移一位,真值为-0.111=-(0.5+0.25+0.125)=-0.875
b:阶码为+2,尾数为0.01001
小数点后移两位,真值为:1.001=1.125

浮点数尾数的规格化

若b = 0,10;0.01001,存储到一个8bit的存储空间会溢出,因为它占了9位。

这就需要对其进行规格化了。

因此尾数的最高位必须是有效值。

因此b=0,11;0.1001

这样的算数左移称为左规。

若尾数小数点左边有不止一个数值位的时候,需要进行小数点左移,阶数加数,称为右规。

规格化浮点数:规定尾数的最高位的数值必须是一个有效值。

左规:当浮点数运算的结果为非规格化的时候进行规格化处理,这时候根据情况将浮点尾数左移1位或多位,阶码减1或更多。

右规:当浮点数运算出现尾数溢出的情况(双符号位为01或10),将尾数右移一位,阶码加一。

Ex:
a=010;00.1100,b=010;00.1000,求a+b
由于阶码相同
a+b=2^2(00.1100+00.1000)
=2^2(01.0100)
=2^3(00.1010)
a+b=011;00.1010

原码和补码的规格化

若使用原码表示尾数:(最高位一定是1)

尾数正数为0.1……的形式,最大值为0.111……1,最小值为0.1000……0

尾数的表示范围1/2~1-2-n

尾数负数为1.1……的形式,最小值为1.111……1,最大值为1.1000……0

尾数的表示范围-(1-2-n)~-1/2

若使用补码表示尾数:(符号位与最高位一定异号)

尾数正数为0.1……的形式,最大值为0.111……1,最小值为0.1000……0

尾数的表示范围1/2~1-2-n

尾数负数为1.0……的形式,最小值为1.011……1,最大值为1.1000……0

尾数的表示范围-1~-(1/2+2-n

Ex:补码表示规格化
0.110;1.1110100
0.011;1.01000

最后

以上就是忧心高跟鞋最近收集整理的关于【计算机组成原理】浮点数的表示浮点数的表示浮点数尾数的规格化原码和补码的规格化的全部内容,更多相关【计算机组成原理】浮点数内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(66)

评论列表共有 0 条评论

立即
投稿
返回
顶部