为什么两个补语的使用范围更广泛,优先于Ones补码表示有符号数

时间:2012-04-09 11:34:24

标签: c

后一种表示看起来更自然。为什么大多数语言选择前者?我想在二进制补码中必须有一些独特且有利的特性,这使得数据操作更容易。

2 个答案:

答案 0 :(得分:5)

语言不指定数字格式;硬件呢。问问英特尔为什么设计他们的ALU来做2的补充

答案是因为数学运算在2s补码中更常规;需要以1s补码的方式处理正数和负数,这意味着CPU中基本数学运算所需的硬件/微代码加倍。

答案 1 :(得分:4)

来自Wikipedia

  

二进制补码系统的优点是加法,减法和乘法的基本算术运算是相同的,无论输入和输出是否被解释为无符号二进制数或二进制补码(只要忽略溢出)。该属性使系统更易于实现,并且能够轻松处理更高精度的算术。此外,零只有一个表示,避免了与负零相关的细微差别,它存在于补充系统中。