当前位置:婀娜女性网>美好生活>心理>

规格化数原码的最高位必须为1

心理 阅读(1.04W)
规格化数原码的最高位必须为1

在浮点数中,为了在尾数中表示最多的有效数据位,同时使浮点数具有唯一的表示方式,浮点数的编码应当采用一定的规范,规定尾数部分用纯小数给出,而且尾数的绝对值应大于或等于1/R,并小于或等于1,即小数点后的第一位不为零。这种表示的规范称为浮点数的规格化的表示方法。不符合这种规定的数据可通过修改阶码并同时移动尾数的方法使其满足这种规范。

假设尾数是W,且基数为2,则当1/2<=|W|<1时,此浮点数为规格化数。

1

2

3

1

2

3

原码的尾数规格化:小数的最高位必须是1

补码的规格化形式:0.1*****.或者 1.0*****

特别规定:-1/2不是规格化的数,-1是规格化的数

进一步思考,若基数不是2,基数是4,也就意味着用2位二进制位表示一个数,1/4<=|W|<1

当基数为4时,尾数的最高两位不全为0(对于正浮点数)或者尾数最高两位不全为1(对于负浮点数)的数为规格化数。

当基数为8时,尾数的最高三位不全为0(对于正浮点数)或者尾数最高三位不全为1(对于负浮点数)的数为规格化数。

另:进一步发现,若基数越大,实际上能表示的数的范围就越大,数的表示就越精确。

订正:你的发现错了!!

基数越大,可表示的浮点数范围越大,这没错但是基数越大,浮点数的精度会下降!!!!