补码运算法则

补码运算法则

ID:21119707

大小:45.00 KB

页数:4页

时间:2018-10-19

补码运算法则_第1页
补码运算法则_第2页
补码运算法则_第3页
补码运算法则_第4页
资源描述:

《补码运算法则》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、补码运算的法则补码运算的法则要在“微机原理”这门课中讲到,在“数字电子技术”课中不作重点,只需一般了解即可。在数字电子技术教科书中,补码部分是用4位或5位2进制数来讲的,所以本文中也多以4、5位二进制数做例子。利用补码运算必须确定运算数的位数,这样才能确定补码的模数。在计算机中,带符号的数的表示方法有3种:原码、补码和移码。本文不讨论移码。一、计算机中数的表示法1.原码对一个二进制数而言,若用最高位表示数的符号(常以“0”表示正数,“1”表示负数),其余各位表示数的本身,则称为二进制数的原码表示法。例如:设A=+100

2、1,B=-0101,则[A]原=01001,[B]原=10101。[A]原、[B]原分别是A、B的原码,是符号数值化了的数。符号数值化之前的带符号的数A、B称为是“真值”。2.补码(1)补码的定义:根据同余的概念X+NK=X(modK)………………①括号中的部分不参加运算,它表示“K是模”。N是任意整数。该式的含义是,数X与该数加上其模的任意整倍数之和相等。例如钟表的表盘,模为12,不论指针转了几圈,3点总是3点。用定义式表示,即3+N×12=3在①式中,当N=1时有[X]补数=X+K,[X]补数称为是X的补数。当0≤

3、X<K时,[X]补数=X(正数的补码是其本身)当-K≤X<0时,[X]补数=X+K(负数的补码=X+K=模-

4、X

5、)例如表盘模=12当X=3时,[3]补数=3,其涵义是表针正着转了3格;当X=-3时,[-3]补数=-3+12=9,其含义就是指针倒着转了3格,就等于正着转了9格。(因为X<0∴X+K=模-

6、X

7、)模=“在限定的位数中可表示的最大数”加1。在计算机中,一个机器数的字长为n位,它能够表示的最大数为n个“1”,其模为2n。例如4位的机器数中,n=4,可表示的最大数为1111B(1111B表示是一个二进制数),其

8、模就是1111B+1=10000=24。4位二进制数的模是10000,即16;而8位二进制数的模是100000000,即256。再例如十进制的模是10,十二进制的模是12。4一个二进制数,若以2n为模(n为二进制数的位数,通常与计算机中计其数的长度一致),它的补码叫做2补码,简称补码。即当0≤X<2n-2时,[X]补=X当–2n-1≤X<0时,[X]补=2n+X=2n-

9、X

10、………②同理,十进制的补码是10,十二进制的补码是12。再利用钟表的例子:当X=3时,[3]补=3;当X=-3时,[-3]补=-3+12=9。所以

11、,正数的补码是它本身,负数的补码是负数加上模。在二进制中,4位二进制数的时候,n=4,根据②式,-1的补码就是:[-1]补=24+(-1)=10000B–1=1111B5位二进制数的时候,n=5,根据②式,-1的补码就是:[-1]补=25+(-1)=100000B–1=11111B(2)补码的求法①根据定义求:即上述的办法,显然很不方便。②保持符号位不变,数值位求反加1:例如4位二进制数-001,其原码为[1001]原,则其补码为[1001]补=1110+1=1111。式中的1110即为1001的反码,注意符号位——最

12、高位的1不参加求反。③直接求补:从最低位起,从右至左,到出现第一个1之前(包括第一个1)原码中的数字不变,以后逐位求反,但符号位不变,即可直接得到补码。例1:求补:n=4X=-1[-1]补=[1001]原=1111最后一位的1不变求反例2:n=8X=-11100000[X]原=111100000[X]补=100100000二、补码的运算法则:41.无论正数还是负数,都是先求补,再相加,其和为补码。如果相加之和是正数,则即为所求之和的原码,但是如果结果是负数,还应再求其补码,方能得到和的原码。运算法则:[X]补±[Y]补

13、=[X±Y]补[[X]补]补=[X]原例1:96-19算法:X–Y=[[X]补+[Y]补]补[X]补=[X]原=01100000B[Y]补=[Y]原=00010011B[-Y]补=11101101B符号位参加运算。X–Y=[[X]补+[Y]补]补=[01100000B+11101101B]补=[01001101B]补=01001101B[X-Y]补=[X-Y]原=01001101B=+77例2:(-56)-(-17)=(-56)+17[X]原=10111000B[X]补=11001000B[Y]原=10010001B[

14、Y]补=11101111B[-Y]补=00010001B(-56)-(-17)=[[-56]补+[17]补]补=[11001000+00010001]补=[11011001B]补[X-Y]原=[[X-Y]补]补=[11011001]补=10100111B=-392.有关0的问题原码中,+0=-0=0补码中0000=01000B=-

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。