您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > 1.1----浮点数的规格化
浮点数的规格化为了使计算机在运行过程中,不丢失有效数字,提高运算的精度,在计算机中,浮点数通常都采用规格化数的表示方法。对二进制浮点数2J×S,若尾数S满足1/2≤|S|<1时,则为“规格化的数”,否则就是非规格化的数。要使浮点数规格化只要移动尾数并改变阶的值就可以实现。对补码来说,规格化的数意味着什么呢?如果是正数,尾数的第一位数字为“1”;如果是负数,尾数的第一个数字应为“0”(即1.0×…×),或为“1”而以后各位全为“0”(即1.10…0);前者小于-1/2,后者正好等于-1/2。为了机器判断方便,在补码表示中,往往不把-1/2列入规格化的数。这样,补码规格化数规定如下:对正数x≥0,如果1>x≥1/2,称为规格化数,其补码表示形式为:0.1x…x。对负数x<0,如果-1/2>x≥-1,称为规格化数,其补码表示形式为:1.0x…x其中x表示可任取“0”或“1”。因此,机器只要判断运算结果的符号位与第一位数字是否相同,便可知道是否是规格化的数。例1:将(-18.75)10转换为二进制浮点规格化数,基数为2,阶符、阶码(用补码表示)共4位,数符(尾符)、尾数(用补码表示)共8位。解:-18.75D=-10010.11B=-1.001011B×24;{-1.001011B-1}=-0.1001011B×25阶码:+5=0101B,补码:0101尾数:[-0.1001011]补=1.0110101浮点数:010110110101例2:设某计算机用双字表示一浮点数,其中阶符、阶码8位,用原码表示,数符、尾数共8位,用补码表示,求能表示的最大正数为多少?解:最大正数的浮点表示为:0111111101111111阶码:+1111111=2+127尾数:+0.1111111=1-2-7最大正数为:(1-2-7)×2+127浮点加减法运算要经过对阶、尾数加减运算、规格化和舍入四步才能完成。
本文标题:1.1----浮点数的规格化
链接地址:https://www.777doc.com/doc-1803964 .html