计算十进制数,-32的补码,详细计算步骤?
原码权重:符号位(1代表负数) 64 32 16 8 4 2 1。反码:负数符号位不变,其余取反。补码:负数符号位不变,其余反码+1。
-32
原码:1010 0000
反码:1101 1111
补码:1110 0000
扩展资料:
假设当前时针指向8点,而准确时间是6点,调整时间可有以下两种拨法:一种是倒拨2小时,即8-2=6;另一种是顺拨10小时,8+10=12+6=6,即8-2=8+10=8+12-2(mod 12).在12为模的系统里,加10和减2效果是一样的,因此凡是减2运算,都可以用加10来代替。若用一般公式可表示为:a-b=a-b+mod=a+mod-b。对“模”而言,2和10互为补数。
参考资料来源:百度百科-补码
原码权重:符号位(1代表负数) 64 32 16 8 4 2 1。反码:负数符号位不变,其余取反。补码:负数符号位不变,其余反码+1。
-32
原码:1010 0000
反码:1101 1111
补码:1110 0000
扩展资料
已知一个数的补码,求原码的操作其实就是对该补码再求补码:
1、如果补码的符号位为“0”,表示是一个正数,其原码就是补码。
2、如果补码的符号位为“1”,表示是一个负数,那么求给定的这个补码的补码就是要求的原码。
例:已知一个补码为11111001,则原码是10000111(-7)。
因为符号位为“1”,表示是一个负数,所以该位不变,仍为“1”。
其余七位1111001取反后为0000110;再加1,所以是10000111。
假定字长是八位。
+32 的补码是:0 0 1 0 0 0 0 0。
对其减一、取反,就是-32 的补码。
先减一:0 0 1 0 0 0 0 0 - 1 = 0 0 0 1 1 1 1 1 。
再取反: 1 1 1 0 0 0 0 0 。
即:[-32]补= 1 1 1 0 0 0 0 0 。
-32
原码:1010 0000
反码:1101 1111
补码:1110 0000