微型计算机原理和汇编语言 第章 补码的加减运算
2.4 数的定点与浮点表示法 2.4.1 定点表示 所谓定点表示法,是指小数点在数中的位置是固定的。原理上讲,小数点的位置固定在哪一位都是可以的,但通常将数据表示成纯小数或纯整数形式,如图2.1所示。 图2.1 定点数的两种表示方法 (a) 纯小数形式;(b) 纯整数形式 设用一个n+1位字来表示一个数x,其中一位表示符号位(0表示正,1表示负),其他n位为数值位。对于纯小数表示法,所能表示的数x (原码表示,下同)的范围为: -(1-2-n)≤x≤1-2-n (2.4.1) 它能表示的数的最大绝对值为1-2-n,最小绝对值为0。 对于纯整数表示法,所能表示的数x的范围为: -(2n-1)≤x≤2n -1 (2.4.2) 它能表示的数的最大绝对值为2n-1,最小绝对值为0。 2.4.2 浮点表示 所谓浮点表示法,就是小数点在数中的位置是浮动的。 任意一个二进制数x总可以写成: 其中,d称为尾数,是二进制纯小数,指明数的全部有效数字,前面的符号称为数符,表示数的符号,该位为0,表明该浮点数为正,该位为1,表明该浮点数为负;p称为阶码,它前面的符号称为阶符,阶码为正时,用0表示,阶码为负时,用1表示。 阶符 阶码(p) 数符 尾数(d) 1 位 m位 1位 n位 可以看出,阶码p指明小数点的位置,小数点随着阶码的大小和正负而浮动,因此把这种数称为浮点数。 设阶码的位数为m位,尾数的位数为n位,则该浮点数表示的数值范围为: (2.4.4) 在字长相同的情况下,浮点数能表示的数值范围比定点数大得多,且精度高,但浮点运算规则复杂。 作业: P31 1 —(1) 2 —(2) 6 —(1)、(2) 、(3)、(4) 7 —(1)、(3) 8 —(2)、(4)、(6)、(8) 10 第2章 计算机中的数制和编码 第2章 计算机中的数制和编码 2.2.4 补码的加减运算 1. 补码加法 在计算机中,凡是带符号数一律用补码表示,运算结果自然也是补码。其运算特点是:符号位和数值位一起参加运算,并且自动获得结果(包括符号位与数值位)。 补码加法的运算规则为: 即:两数补码的和等于两数和的补码。 (2.2.5) 例2.11 已知 [+51]补=0011 0011B, [+66]补=0100 0010B, [-51]补=1100 1101B, [-66]补=1011 1110B 求 [+66]补+[+51]补=? [+66]补+[-51]补=? [-66]补+[-51]补=? 由于 [+66]补+[+51]补=[(+66)+(+55)]补 结果为正,因此 [(+66)+(+55)]原=[(+66)+(+55)]补 其真值为+117,计算结果正确。 二进制(补码)加法 十进制加法 0100 0010 [+ 66]补 + 66 +) 0011 0011 [+ 51]补 +) + 51 0111 0101 [+117]补 +117 解: 由于 [+66]补+[?51]补=[(+66)+(?55)]补=0000111B 结果为正,因此 [(+66)+(?55)]原=[(+66)+(?55)]补其真值为+15,计算结果正确。 二进制(补码)加法 十进制加法 0100 0010