计算机第一节课提到这三码的概念,概念倒不难理解,但是为什么会有补码的存在,读了很多文章博客,发现大多都是一顿长篇大论的分析,看着挺有道理,总感觉似是而非,没有抓住根本!
为什么会有补码?一句话总结:计算机使用n位二进制数来表示一位负数,如-y,实际上是用 - y 来表示的,这样就可以达到 x - y = x + (-y) = x + - y = + x - y => x -y, 本质上
会向上再进一位到n+1位,超出n位的数字计算机就会把它舍去了,这样就实现了用加法代替减法。
那么y 和 - y 是什么关系呢?很简单,就是原码和补码的关系,这就是补码会出现的真正原因。