计算机组成原理(白中英)第二章2.ppt
上传人:qw****27 上传时间:2024-09-12 格式:PPT 页数:9 大小:125KB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

计算机组成原理(白中英)第二章2.ppt

计算机组成原理(白中英)第二章2.ppt

预览

在线预览结束,喜欢就下载吧,查找使用更方便

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

2.1.2数的机器码表示x2n>x≥0[x]原={(2.8)2n-x=2n+|x|0≥x>-2n采用原码表示法简单易懂,但它的最大缺点是加法运算复杂。这是因为,当两数相加时,如果是同号则数值相加;如果是异号,则要进行减法。而在进行减法时还要比较绝对值的大小,然后大数减去小数,最后还要给结果选择符号。为了解决这些矛盾,人们找到了补码表示法。2.补码表示法负数用补码表示时,可以把减法转化为加法.这样,在计算机中实现起来就比较方便.在定点小数机器中,数最大不超过1,也就是负的小数对”1”的补码是等价的.但实际上,负数的符号位还有一个”1”,要把它着成数的一部分,所以要对2求补码,也就是以2为模数若定点小数补码形式为x0.x1x2…xn,则补码表示的定义是x1>x≥=0[x]补={(mod2)(2.9)2+x=2-∣x∣0≥x≥-1例如,x=+0.1011,则[x]补=0.1011x=-0.1011,则[x]补=10+x=10.0000-0.1011=1.0101一般情况下,对于正数x=+0.x1x2…xn,则有[x]补=0.x1x2…xn对于负数x=-0.x1x2…xn,则有[x]补=10.00…0-0.x1x2…xn(mod2)对于0,[+0]补=[-0]补=0.0000(mod2)注意,0的补码表示只有一种形式。采用补码表示法进行减法运算就比原码方便得多了。因为不论数是正还是负,机器总是做加法,减法运算可变为加法运算。但根据补码定义,求负数的补码要从2减去|x|。为了用加法代替减法,结果还得在求补码时作一次减法,这显然是不方便的。下面介绍的反码表示法可以解决负数的求补问题。对定点整数,补码表示的定义是x2n>x≥0[x]补={(mod2n+1)(2.10)2n+1-x=2n+1-|x|0≥x≥-2n采用补码表示法进行减法运算就比原码方便多了.因为不论数是正还是负,机器总是做加法,减法运算可变成加法运算.但是根据补码定义,求负数的补码要从2减去∣x|。为了用加法代替减法,结果还得在求补码时作一次减法,这显然是不方便的.下面介绍的反码表示法可以解决负数的求补问题.3.反码表示法所谓反码,就是二进制的各位数码0变为1,1变为0。也就是说,若Xi=1,则反码为xi=0;若xi=0,则反码xi=1。数值上面的一横表示反码的意思。在计算机中用触发器寄存数码,若触发器Q端输出表示原码,则其Q端输出就是反码。由此可知,反码是容易得到的。对定点小数,反码表示的定义为x1>x≥=0[x]反={(2.11)(2-2-n)+x0≥x>-1其中n代表数的位数。在一些文献中,这种以2为基数的反码又称为1的补码。一般情况下,对于正数x=+0.x1x2…xn,则[x]反=0.x1x2…xn对于负数x=-0.x1x2…xn,则有[x]反=1.x1x2…xn对于0,有[+0]反和[-0]反之分:[+0]反=0.00...0[-0]反=1.11...1我们比较反码与补码的公式[x]反=(2-2-n)+x[x]补=2+x可得到[x]补=[x]反+2-n(2.12)这就是通过反码求补码的重要公式。这个公式告诉我们,若要一个负数变补码,其方法是符号位置1,其余各位0变1,1变0,然后在最末位(2-n)上加1。对定点整数,反码表示的定义为x2n>x≥0[x]反={(2.13)(2n+1-1)+x0≥x>-2n4.移码表示法移码通常用于表示浮点数的阶码。由于阶码是个n位的整数,所以假定定点整数移码形式为x0x1x2…xn时,对定点整数,移码的定义是[x]移=2n+x2n>x≥-2n(2.14)若阶码数值部分为5位,以x表示真值,则[x]移=25+x25>x≥-25例如,当正数x=+10101时,[x]移=1,10101;当负数x=-10101时,[x]移=25+x=25-10101=0,01011。移码中的逗号不是小数点,而是表示左边一位是符号位。显然,移码中符号位x0表示的规律与原码、补码、反码相反。小结:上面的数据四种机器表示法中,移码表示法主要用于表示浮点数的阶码。由于补码表示对加减法运算十分方便,因此目前机器中广泛采用补码表示法。在这类机器中,数用补码表示,补码存储,补码运算。也有些机器,数用原码进行存储和传送,运算时改用补码。还有些机器在做加减法时用补码运算,在做乘除法时用原码运算。[例3]以定点整数为例,用数轴形式说明原码、反码、补码表示范围和可能的数码组合情况。[解:]原码、反码、补码表示分别示于下图。与原码、反码不同,在补码表示中“0”只有一种形式,且用补码表示负数时范围可到-2n。[例4]将十进制真值(-127,-1,0,+1,+127)列表表示成二