发布网友 发布时间:2022-04-22 23:18
共4个回答
热心网友 时间:2022-04-26 14:19
[-54-30]补 = [-54]补 + [-30]补。-54的补码:因为是负数,所以符号位为1,54=32+16+4+2=0110110(2),取反=1001001,加1=1001010,
所以-54的补码是1 1001010.同理,30=16+8+4+2=0011110(2),取反=1100001,加1=1100010,-30的补码是1 1100010.[-54-30]补=1 1001010 + 1 1100010 = 1 0101100
根据补码的补码是原码:[[-54-30]补]补=原码。符号位为1,说明为负数,0101100取反=1010011,加1=1010100,转化为10进制得84,故结果为-84。
补码的表示方法是:
正数的补码就是其本身
如+9的补码是00001001。
负数的补码是在其原码的基础上, 符号位不变, 其余各位取反, 最后+1. (即在反码的基础上+1)
[+1] = [00000001]原 = [00000001]反 = [00000001]补
[-1] = [10000001]原 = [11111110]反 = [11111111]补
对于负数, 补码表示方式也是人脑无法直观看出其数值的. 通常也需要转换成原码在计算其数值。
扩展资料
正整数的补码是其二进制表示,与原码相同 。
例:+9的补码是00001001。
求负整数的补码,将其对应正数二进制表示所有位(包括符号位)取反(0变1,1变0,符号位为1不变)后加1 。
同一个数字在不同的补码表示形式中是不同的。比如-15的补码,在8位二进制中是11110001,然而在16位二进制补码表示中,就是1111111111110001。以下都使用8位2进制来表示。
例:求-5的补码。
-5对应正数5(00000101)→所有位取反(11111010)→加1(11111011)
所以-5的补码是11111011。
参考资料来源:百度百科——补码
热心网友 时间:2022-04-26 15:37
补码相加后的结果:1010 1100 是答案的补码,要转化成原码,才是最终答案.
补码转原码方法同原码转补码,即符号位不变,其余按位取反后+1
1010 1100
求反:1101 0011
求补:1101 0100
即:-84
这里用到了补码的运算规则:[X+Y]补=[X]补+[Y]补
求出[X]补+[Y]补后还要求一次补,才能得到答案X+Y
扩展资料:
补码运算原理: 在计算机里,如果我们要计算5-3的值,我们既可以用5减去3,也可以用5加上13。
这就像我们的钟表,它从1点走到12点之后,又回到了1点。我们的计算机也是,从0走到15之后,再往下走就又回到了0,就像我们转了一个圈一样。我们从5这个位置往回退3个格,就完成了5-3这个计算。
我们也可以从5这个位置往前走,一直走到15,这时我们走了10个格,然后我们继续往前走,走到0,然后到1,然后就走到了2。这样,我们往前走了13个格之后,也到了2这个位置。
所以说,在我们这个计算机中,减3和加13是一样的。而3+13=16,我们说在模16的系统下,3和13是互补的。
这样,我们计算5-3就可以换成5+13。3的二进制表示为0011,5的二进制表示为0101。这样,0101-0011就可以表示为0101+(-0011)。
我们在计算机中都是把负数用其补码表示,-0011的补码就是10000-0011(即16-3,也就是13)。10000-0011=1+1111-0011=1+(1111-0011)=1+1100=1101。
我们总说补码是“按位取反再加一”,看了上面这个式子相信大家就会明白了,其实就是把10000-0011换成了1111-0011再加1的形式。
然后,0101-0011就换成了0101+1101,它们计算出来的结果为10010。由于我们的计算机只有四个bit,所以结果为0010。即,在模16的计算机中,5-3=5+13=2。
参考资料:补码_百度百科
热心网友 时间:2022-04-26 17:11
在计算机中,负数或减法,都要借助于补码,再用加法来完成的。
得到的结果,也是补码。
[-54]补 = 1100 1010
[-30]补 = 1110 0010
---相加---------
(1) 1010 1100 = [-84]补
计算的结果,是-84,以补码表示。
热心网友 时间:2022-04-26 19:03
这不是很简单的哪!