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