-52的八位二进制为00110100,把二进制求反得11001011再加1,等于11001100。
x= -52d = -110100b
[x]原 =10110100b
[x]反 =11001011b
[x]补 =11001100b
扩展资料
补码乘法
补码的乘法不具备【X*Y】补=【X】补×【Y】补的性质。但是【X*Y】补==【X】补×Y,所得结果再取补码,如x=101,y=011,[x*y]补=-[(-101)*011]=-[011*011]=-01001=10111。
补码的总前提是机器数,不要忘了机器数的符号位含义,最高位为0表示正数,最高位为1表示负数,而最高位是指机器字长的最左边一位。字节数100B,最高位为00000100中的最左边的0。
参考资料来源:百度百科—补码
-52 十进制数 它的八位二进制补码为:11001100。
x= -52d = -110100b
[x]原 =10110100b
[x]反 =11001011b
[x]补 =11001100b
扩展资料
代数加减运算
补码加法
[X+Y]补 = [X]补 + [Y]补
【例1】X=+0110011,Y=-0101001,求[X+Y]补
[X]补=00110011 [Y]补=11010111
[X+Y]补 = [X]补 + [Y]补 = 00110011+11010111=00001010
注:因为计算机中运算器的位长是固定的(定长运算),上述运算中产生的最高位进位将丢掉,所以结果不是100001010,而是00001010,。
补码减法
[X-Y]补 = [X]补 - [Y]补 = [X]补 + [-Y]补
【例2】1-1 [十进制]
1的原码00000001 转换成补码:00000001
-1的原码10000001 转换成补码:11111111
1+(-1)=0
00000001+11111111=00000000
00000000转换成十进制为0
0=0所以运算正确。
【例3增】-7-(-10) [十进制]
改为加法形式:-7-(-10)=-7+(-(-10))
-7的补码:11111001
-(-10)的补码:-10的原码为10001010,-(-10)的原码为00001010,
-(-10)的补码就是其原码,为00001010
-7 - (-10)= -7 + 10 = 3
11111001+00001010 = 00000011
转换成十进制为3
参考资料来源:百度百科—补码
-52 十进制数 它的八位二进制补码为:11001100
转换过程:
-52的原码为:10110100 第一位是符号位(1负0正),其余位为数值
它的反码为: 11001011 原码符号位不动,其余位取反(0变1,1变0)
补码=反码+1=11001100
52的八位二进制为00110100,将二进制求反得11001011再加1,就是11001100,课本上答案没错.