1.码制转换
1.已知[ x ] 原, 求[ x ] 补
方法是符号位不变,数值部分逐位取反后末位加 1。【例】 已知[ x ]原 = 1001 1010, 求[ x ]补
[ x] 原 =1 0 0 1 1 0 1 0
↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
1 1 1 0 0 1 0 1
+) 1
[ x ]补=1 1 1 0 0 1 1 0
还可以总结出一个更简单的规律:符号位不变,数值部分从低位开始向高位逐位行进,在遇到第一个 1以前,包括第一个 1按原码照写;第一个 1以后, 逐位取反。
【例】 [ x ]原= 1 0 0 1 1 0 1 0
↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
[ x ]补= 1 1 1 0 0 1 1 0
↑ ↑ ↑
不变 求反 不变
可见,两种方法所得结果是一样的。
2.已知[ x ]补,求[ x ]原
由补码的定义,不难得出:[ [ x ]补 ]补] = [ x ]原,所以由[ x ]补求[ x ]原,只要求[ [ x ]补] ]补即可。