/
// 主题:关于补码计算的一个实例
// 描述:
// 作者:天之枫
// 时间:2010-04-11
/
补码(二补数)
http://zh.wikipedia.org/zh-cn/%E4%BA%8C%E8%A3%9C%E6%95%B8
1、补码的结构:第一位是符号位 -> 数的符号;后面的位数是码位 -> 数的大小。
2、计算规则:符号位是0时,补码等于原码;符号位是1时,码位求反,再加1(加1时,符号位带入计算)
3、一个实例:令计算机字长为8位,已知 [X/2]补 = C6H,则 [X]补 = ?
析:
[X/2]补 = C6H = 1100 0110 B -> 转求[X/2]([X/2]补 减1,码位求反)
[X/2] = 1011 1010 B = -58
[X] = -58 * 2 = -116 = 1111 0100 B
[X]补 = 1000 1100 B = 8CH
->
[X/4] = -29 = 1001 1101 B
[X/4]补 = 1110 0011 B = E3H
看到: [X/4]补 相当于 [X/2]补 作了一次算术右移(码位);
那么: [X]补 相当于 [X/2]补 作一次算术左移(码位)。