浮点数常用的编码方法

电子常识

2636人已加入

描述

浮点数常用的编码方法

  前面已经说到,在计算机内,浮点数被表示为如下格式:
  浮点

  通常情况下,数的符号位Ms,仍然采用0表示正号、1表示负号的规则。数的尾数部分M采用定点小数形式表示,可用原码(或补码)等编码方式。讨论浮点数的编码方法的关键,是确定对阶码部分的编码方法。

  在多数通用计算机中,浮点数的阶码部分多采用整数形式的移码表示。对由1位符号位和n位数值位组成的二进制形式的阶码,其移码的定义为:

    [X] = 2n + X -2-n ≤ X < 2n              (2.15)

  将这一定义与整数补码的定义相比较,

    [X] =浮点(2.16 )

  就可找出移码和补码之间的如下关系:
  当 0 ≤ X < 2 n 时,[X]= 2 n + X = 2 n + [X]
   -2 n≤ X < 0 时,[X]= 2n + X = (2n+1 + X) - 2n

  这表明,由[X]补 得到 [X]移 的方法是变 [X]补 的符号为其反码。例如:
   X = +1011, [X] = 01011, [X] = 11011
   X = -1011, [X] = 10101, [X] = 00101

  移码的性质:
  最高一位为符号位,但其取值与原码和补码都相反,1代表正号,0代表负号。
  移码只用于表示浮点数的阶码,故只用于整数。
  对移码一般只执行加减运算,在对两个浮点数进行乘除运算时,是尾数实现乘除运算,阶码执行加减运算。对移码执行加减运算时,需要对得到的结果加以修正,修正量为2n,即要对用移码求得的符号位取反后,得到的才是移码形式的正确结果。

  在移码表示中,0有唯一的编码,即 [+0] = [-0] = 1000…0。而且浮点数机器零的形式为000…000。当浮点数的阶码≤-2 n时,不管尾数值大小如何,都属于浮点数下溢,被认为其值是0。此时,移码表示的阶码值正好是每一位都为0的形式,这有利于简化机器中的判0线路。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分