浮点数的一般表示

1.浮点数初探

众所周知计算机存储数据都是以二进制形式存储的,并且主要分为定点整数和浮点小数两大类。浮点数由阶码尾数组成,其中阶码决定了浮点数表示的范围,而尾数则决定了浮点数表示的精度

2.浮点数的一般格式

3.规格化的浮点数

1.尾数用原码表示

其规格化尾数形式为:s.1xxxxxx,即小数点后首位必须是1。

2.尾数用补码表示

若尾数≥0,则其规格化尾数形式为:0.1xxxxxx,若尾数<0,则其规格化尾数形式为:1.0xxxxxx,由此观之,尾数的符号位与小数点后首位是异或逻辑。

用补码表示的尾数范围为:

  • 最大正数:0.1111111 = 1-2^{-7}
  • 最小正数:0.1000000 = 2^{-1}
  • 最大负数:1.0111111 = -2^{-1}-2^{-7}
  • 最小负数:1.0000000 = -1

3.尾数的左规与右规

  • 左规:若采用变形补码表示尾数,则当结果的尾数出现11.1xxx...x00.0xxx...x的形式时,需将尾数左移1位,阶码减1,直到尾数为规格化形式为止。
  • 右规:当浮点运算结果的尾数出现01.xxx...x10.xxx...x的形式时,并不一定溢出,应先将尾数右移1位,阶码加1,然后判断阶码是否溢出。

4.阶码的表示

在计算机中,浮点数的阶码多用移码来表示,移码的好处是加偏移量将负数用正数表示,便于比较阶码的大小。例如4位移码的偏移量就是1000,从而用原本补码表示的1000在加上偏移量1000后就会变为0000,0111就变为1111便于比较大小。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。