Skip to content

Latest commit

 

History

History
15 lines (7 loc) · 965 Bytes

原码、反码、补码.md

File metadata and controls

15 lines (7 loc) · 965 Bytes

原码: 原码的表示方法中,不能统一加减法运算。两个正数相加不会出错,如果正数和负数、负数和负数运算就会出错


反码: 为了克服原码的缺陷,统一正负数加减法运算。反码运算中,正数和负数的运算结果是正确中,其中特殊情况是两个相反数运算得到的结果是-0,也就是对于0而言在反码中有两个表示一个是0000,还有一个是1000。对于负数和负数的直接反码运算得到的结果是错误的,但是可以强制使用正数运算然后加上负号


补码: 直接统一了正负数加减法运算,所有正负数直接补码运算得到结果。并且,相反数之间运算得到的是0000,省略出了10000,便用这个1000表示-8。所以通常x位的有符号整数的表示范围是:-2^(x-1)~2^(x-1)-1


更多详细内容参考文章