规格化数(浮点规格化数)
规格化数
本文内容来自于互联网,分享规格化数(浮点规格化数)
规格化数 在浮点数中,为了在尾数中表示最多的有效数据位,同时使浮点数具有唯一的表示方式,浮点数的编码应当采用一定的规范,规定尾数部分用纯小数给出,而且尾数的绝对值应大于或等于1/R,并小于或等于1,即小数点后的第一位不为零。这种表示的规范称为浮点数的规格化的表示方法。不符合这种规定的数据课通过修改阶码并同时移动尾数的方法使其满足这种规范。
浮点数的规格化形式:
浮点数都是近似表示的,精度由尾数决定,数的表示范围大小由R、E决定。为了提高精度需要使尾数的有效位数尽可能占满可用的位数。这种措施称为浮点数的规格化。规格化要求尾数:
1/R<=|M|<1
R=2时: ½<=|M|<1 即2-1<=|M|<20
(0.1)2<=|M|<(1)2
将一个浮点数转换为规格化的过程,称为浮点数规格化。
右规:尾数右移一位,阶码+1
左规:尾数左移一位,阶码-1
注:隐藏位
对于规格化浮点数小数点后第一个值是固定的(正数:1,负数:原码1,补码0),所以该位往往缺省,称为隐藏位。
例:用格式2,共32位,数符1位,阶码8位用移码,其余位为尾数。
规格化0.1101 0001*210110
数符:+ 0
阶码:10110 0001 0110 0001 0110
1001 0110
尾数:1101 0001
1010 0010 0…0
所以0.1101 0001*210110规格化结果:0 1001 0110 1010 0010 0…0