首页 > 试题广场 >

X=+0111001,Y=+1001101,求[X-Y]补=

[填空题]
[X] = 00111001  [Y] = 01001101
[X-Y]补 = [X]补 + [-Y]补
[-Y]补 = Y各位取反+1 = 10110011
[X]补      00111001
[-Y]补 +  10110011
得           11101100
编辑于 2019-08-21 18:40:28 回复(3)
虽然答错了,是因为自己对原码、反码、补码概念不清楚,在此留贴记忆...
[X]=00111001,[Y]=11001101(符号位正数为0,负数为1)
[Y]反=10110010,(符号位不变,其它位取反)
[X]补=00111001,(正数的补码等于它本身,也就是原码)
[Y]补=10110011,(负数在反码的基础上+1)
相加得 11101100
发表于 2019-08-20 20:50:41 回复(2)
加减法的法则
①加法: 
整数: [A]补 + [B]补 = [A+B]补 (mod 2^(n+1)) 
小数: [A]补 + [B]补 = [A+B]补 (mod 2)
②减法: 
整数: [A-B]补 = [A]补 + [-B]补 (mod 2^(n+1)) 
小数: [A-B]补 = [A]补 + [-B]补(mod 2)
注:
整数的补码是它本身;
[-B]补的求法就是 [B]补的连同符号位在内,每位取反,末位加一。


发表于 2019-09-15 20:47:37 回复(0)
计算机操作的都是补码
【x-y】补 = 【x】补 + 【-y】补  =  00111001 + 10110011 = 11101100
x是正数,正数原反补相同
y是负数,负数的补码是符号位不变,其他位按位取反 + 1.
01001101
11110010
11110011
转成补码后再把符号位置进行变换,变成相反的
10110011
发表于 2019-08-24 21:33:39 回复(0)
<p>我们在求一个数的补码之前,应当先求出这个数的原码。将一个数转化为二进制数,既是它的源码。可通过除二求余法算得(既对一个数除二求余,这会得出一个数和一个余数,再对得出来的数进行求余,得出余数,以此类推,最后将余数倒写即可)。如是一个正数,它的补码与它的原码相同;如果是一个负数,它的补码是在它的原码的基础上,开头符号位不变,其余各位取反,最后再在其上面+1(既在反码的基础上+1)。</p>
发表于 2020-07-01 19:27:49 回复(0)
由于两个都是正数,先求出大减小的差,再转化为补码即可
发表于 2019-08-26 15:06:15 回复(1)
-y = y的补码+1。 x - y = 11101100
发表于 2021-05-05 09:58:02 回复(0)

111001100

发表于 2020-03-31 22:36:01 回复(0)
X=+0111001,Y=+1001101,求[X-Y]补
1、计算X-Y(根据大小可得结果是个负数)
2、得到结果:-18
3、根据结果转换成二进制:-0010100
4、求[X-Y]补就可以转换为[-18]补,负数的补码为取反加一:-1101011+1====-1101100
5、得到结果:11101100
发表于 2020-01-18 14:03:16 回复(1)
[X] = 00111001  [Y] = 01001101
[X-Y]补 = [X]补 + [-Y]补
[-Y]补:求负补码,即将求得补码每一位取反(包含符号位),再加1.
[Y]补=01001101  [-Y]补=10110011  (每位取反再加1)
最后得:11101100
发表于 2019-08-10 16:57:16 回复(2)