计算机中的信息表示

时间:2022-06-27 19:23:01

1. 定点表示法

类型:无符号数 00000000 11111111

0                           255

      定点整数      11111111 01111111 (原码)

                            -127     127

                        1000000001111111 (补码)

                            -128         127

           定点小数 1.11111110.1111111 (原码)

                       -(1-2^-7) 1-2^-7

                   1.0000000  0.1111111 (补码)

                   -1                1-2^-7

2.浮点表示法

浮点数真值:N = + R ^E × M

计算机中的信息表示

R:阶码底,隐含约定。

E:阶码,为定点整数,补码或移码表示。其位数决定数值范围;阶符表示数的大小。

M:尾数,为定点小数,原码或补码表示。其位数决定数的精度;数符表示数的正负。

尾数规格化:1/2≤ M <1 最高有效位绝对值为1

补充:

IEEE754 的标准:

 32位浮点数(短实数)和64位浮点数(长实数)的标准格式为:

其中:

S=浮点数的符号位,0表示正数,1表示负数。

M=尾数,23位,用纯小数表示。

E=阶码,8位,阶符采用隐含方式,即采用移码方式来表示正负指数,但只偏移2n-1 (127)。

几点注释:   

为了提高数据的表示精度,当尾数的值不为 0 时,其绝对值|M|应≥0.5。

浮点数所表示的范围显然远比定点数大。

以下两种情况计算机都把该浮点数看成零值,称为机器零。

    ⑴当浮点数的尾数M为 0;(不论E为何值)

  ⑵当阶码E的值<Emin值时。(不管M为何值)

隐含约定尾数最高位20 ,即1。

 

[例]:将十进制数20.59375转换成IEEE754 的32位标准浮点数的二进制格式来存储。

[解]

首先分别将整数和分数部分转换成二进制数:

20.59375=10100.10011

然后移动小数点,使其在第1、2位之间

10100.10011=1.010010011×24    

小数点被左移了4位,于是得到:e=4

尾符 S=0,阶码 E=4+127=131,

尾数 M=010010011

最后得到32位浮点数的二进制存储格式为:

0100 0001 1010 0100 1100 0000 0000 0000

              =(41A4C000)16