后一种表示看起来更自然。为什么大多数语言选择前者?我想在二进制补码中必须有一些独特且有利的特性,这使得数据操作更容易。
答案 0 :(得分:5)
语言不指定数字格式;硬件呢。问问英特尔为什么设计他们的ALU来做2的补充
答案是因为数学运算在2s补码中更常规;需要以1s补码的方式处理正数和负数,这意味着CPU中基本数学运算所需的硬件/微代码加倍。
答案 1 :(得分:4)
二进制补码系统的优点是加法,减法和乘法的基本算术运算是相同的,无论输入和输出是否被解释为无符号二进制数或二进制补码(只要忽略溢出)。该属性使系统更易于实现,并且能够轻松处理更高精度的算术。此外,零只有一个表示,避免了与负零相关的细微差别,它存在于补充系统中。