-[x] = 1,0000,0000 - 1010,1110 =101,0010 = (82)D,所以,x 的真值是 - (82)D。
[X]补 = 11000111B = 199(十进制)。
十进制的真值=199-256=-57。
二进制的真值=-111001。
取反后加1
假设当前时针指向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,既是负号,也是数值。
所以:它就是一个“负值”。
然后,各位求和,就可以了。
----------------------------
补码是 1010 1110:-128 + 32 + 8 + 4 + 2 = -82。
补码是 0010 1110: 32 + 8 + 4 + 2 = +46。
9350H = 1001 0011 0101 0000:
-32768 + 4096 + 512 + 256 + 64 + 16 =-27824。
CF42H = 1100 1111 0100 0010:
-32768 + 16384 + 2048 + 1024 + 512 + 256 + 64 + 2
=-12478。
----------------------------
就这么简单!
补码和真值,可以直接互相转换。和原码反码,没有任何关系。
-[x] = 1,0000,0000 - 1010,1110 =101,0010 = (82)D
所以,x 的真值是 - (82)D