- 尽量保证了系统编码的连续性和一致性,同时避免了+/- 0的窘境。
计算机是逻辑严谨的,+/-0同时存在的这种打破连续性和一致性的问题应该极力避免。而补码可以完美的避开这一Bug,而且还能多表示一个负数(如8位数的-128)。
注意这种保持连续性和一致性的原则是很重要的,它甚至渗透到所有系统的设计之中。不是你表面上看到的浪费一个重复表示这么简单的问题。它会导致从电路设计时就留下的根源性区别和缺陷。
- (1)原码有两个0,做加法的时候还需要额外处理符号位,无法确定使用最高位还是最低位表示符号位;
(2)反码有两个0;
(3) 补码的优点是扩展的时候直接填充最高位(符号位)就行。