浮点数的表示方法及换算技巧



32位的浮点数中: 
S:浮点数的符号位,1 位。0表示正数,1表示负数。
M:尾数,23位。用小数表示,小数点在尾数域前面。
E:阶码,采用移码方式来表示。移码方法对两个指数大小的比较和对阶操作都比较方便,因为阶码域值大者其指数值也大。采用这种方式时,将浮点数的指数真值e 变成阶码E 时,应将指数 e 加上一个固定的偏移值127(01111111),即 E=e+127

浮点数的真值x一般为(-1)^s × (1.M) × 2^e 32位浮点数e=E-12764位浮点数e = E-1023

例题1. 若浮点数x的二进制存储格式为(41360000)16进制,求其32位浮点数的值。
将16进制数转换为2进制 0100 0001 0011 0110 0000 0000 0000 0000
则e = 10000010 - 01111111 = 3(十进制)
M = 01101100000000000000000
则x = (-1)^0 × 1.011011× 2^3 = 1011.011(2进制)
= 11.375(十进制)

[例2] 将十进制数20.59375转换成32位浮点数。 
[解:] 首先分别将整数和分数部分转换成二进制数:
              20.59375=10100.10011
  然后移动小数点,使其在第1,2位之间
    10100.10011=1.010010011 × 2^4   e=4
  于是得到:
             S=0,E=4+127=131,M=010010011
  最后得到32位浮点数的二进制存储格式为:
           0100 0001 1010 0100 1100 0000 0000 0000
        =41A4C000(16进制)

你可能感兴趣的:(计算机组成原理)