原码补码的转换.docx

上传人:大张伟 文档编号:8624591 上传时间:2020-12-07 格式:DOCX 页数:3 大小:69.80KB
返回 下载 相关 举报
原码补码的转换.docx_第1页
第1页 / 共3页
原码补码的转换.docx_第2页
第2页 / 共3页
原码补码的转换.docx_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《原码补码的转换.docx》由会员分享,可在线阅读,更多相关《原码补码的转换.docx(3页珍藏版)》请在三一文库上搜索。

1、最佳答案补码补码举例1、在计算机系统中,数值一律用补码来表示(存储)。主要原因:使用补码,可以将符号位和其它位统一处理;同时,减法也可按加法来处理。另外,两个用补码表示的数相加时,如果最高位(符号位)有进位,则进位被舍弃。2、补码与原码的转换过程几乎是相同的。数值的补码表示也分两种情况:( 1)正数的补码:与原码相同。例如, +9 的补码是 00001001。( 2)负数的补码:符号位为1,其余位为该数绝对值的原码按位取反;然后整个数加1。例如, -7 的补码:因为是负数,则符号位为“1”,整个为;其余7 位为 -7 的绝对值 +7 的原码0000111 按位取反为1111000;再加 1,所

2、以 -7 的补码是。已知一个数的补码,求原码的操作分两种情况:( 1)如果补码的符号位为“0”,表示是一个正数,所以补码就是该数的原码。( 2)如果补码的符号位为“1”,表示是一个负数,求原码的操作可以是:符号位为1,其余各位取反,然后再整个数加1。例如,已知一个补码为,则原码是( -7):因为符号位为“ 1”,表示是一个负数,所以该位不变,仍为“ 1”;其余 7 位 1111001 取反后为 0000110;再加 1,所以是。在“闲扯原码、反码、补码”文件中,没有提到一个很重要的概念“模” 。我在这里稍微介绍一下“模”的概念:“模”是指一个计量系统的计数范围。如时钟等。计算机也可以看成一个计

3、量机器,它也有一个计量范围,即都存在一个“模”。例如:时钟的计量范围是0 11,模 =12。表示 n 位的计算机计量范围是0 2(n)-1 ,模 =2(n) 。“模”实质上是计量器产生“溢出”的量,它的值在计量器上表示不出来,计量器上只能表示出模的余数。任何有模的计量器,均可化减法为加法运算。例如:假设当前时针指向10 点,而准确时间是6 点,调整时间可有以下两种拨法:一种是倒拨4 小时,即: 10-4=6另一种是顺拨8 小时: 10+8=12+6=6在以 12 模的系统中,加8 和减 4 效果是一样的,因此凡是减4 运算,都可以用加8 来代替。对“模”而言,8 和 4 互为补数。实际上以12

4、 模的系统中, 11 和 1, 10 和 2, 9 和 3, 7和 5, 6 和 6 都有这个特性。共同的特点是两者相加等于模。对于计算机,其概念和方法完全一样。n 位计算机,设n=8, 所能表示的最大数是,若再加 1 称为 0(9 位 ),但因只有 8 位,最高位 1 自然丢失。又回了 00000000,所以 8 位二进制系统的模为 28。 在这样的系统中减法问题也可以化成加法问题,只需把减数用相应的补数表示就可以了。把补数用到计算机对数的处理上,就是补码。另外两个概念一的补码 (ones complement) 指的是 正数 =原码 ,负数 =反码而二的补码 (twos complemen

5、t) 指的就是通常所指的补码。1 里 充 的代数加减运算:1、 加法X+Y 补 = X 补 + Y 补【例 7】X=+0110011,Y=-0101001 ,求 X+Y 补X 补 =00110011 Y 补=X+Y 补 = X 补 + Y 补 = 00110011+=00001010注:因 算机中运算器的位 是固定的, 上述运算中 生的最高位 位将 掉, 所以 果不是0,而是 00001010。2、 减法X-Y 补 = X 补 - Y 补 = X 补 + -Y 补其中 -Y 称 ,求 的方法是: 的每一位(包括符号位)求反,最后末位加“ 1”。 里 充 的代数解 :任何一个数都可以表示 -a=

6、2(n-1)-2(n-1)-a; 个假 a 正数,那么 -a 就是 数。而根据二 制 十 制数的方法,我 可以把a表示 : a=k0*20+k1*21+k2*22+ +k(n-2)*2(n-2) 里 k0,k1,k2,k(n-2)是 1或者 0,而且 里 a 的二 制位数 n 位,即其模 2(n-1), 而2(n-1) 其二 展开是:1+20+21+22+ +2(n-2) ,而式子:-a=2(n-1)-2(n-1)-a中,2(n-1)-a代入a=k0*20+k1*21+k2*22+k(n-2)*2(n-2)和2(n-1)=1+20+21+22+2(n-2)两式,2(n-1)-a(1-k(n-2

7、)*2(n-2)+(1-k(n-3)*2(n-3)+ +(1-k2)*22+(1-k1)*21+(1-k0)*20+1, 而 步 化正是取反再加1 的 的代数原理所在。因 里k0,k1,k2,k3 不是 0就是 1,所以 1k0,1-k1,1-k2的运算就是二 制下的取反,而 什么要加1,追溯起来就是2(n-1) 的二 展开式最后 有一 1 的 故。 而 -a=2(n-1)-2(n-1)-a中, 有 -2(n-1) 未解 , 就是 里首位的1,首位1 在 化 十 制 要乘上2(n-1) , 正是 n 位二 制的模。不能 公式,所以看起来很麻 ,如果写成代数式子看起来是很方便的。注: n 位二 制,最高位 符号位,因此表示的数 范 -2(n-1) 2(n-1) -1, 所以模 2(n-1) 。上面提到的 8 位二 制模 28 是因 最高位非符号位,表示的数 范 028-1 。2

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1