首先介绍概念,以byte来讲:
源码:就是本来的二进制码,比如1的源码是 0000 0001. -1的是1111 1111
反码:就是源码各个位置取反,1的反码是1111 1110。 -1的反码是0000 0000
补码:源码的反码加1,就是补码。1的补码是1111 1111。-1的补码是0000 0001
然后讲精髓:
1、负数的源码就是正数的补码。求一个负数的源码时,先计算出他对应正数的源码,然后算正数源码的补码就行。
2、在计算机中存储的都是数据的补码。记住就行
3、减一个数就是加它的负数,计算机中只有加法
4、计算机中的运算都是用补码进行的,得到的结果也是补码。补码的补码是源码,所以结果的补码就是我们要的源码。
5、补码的原理是减一个数等于加一个数的补数,然后推导一番就能得出a-b等于a+(b的反码+1),所以我们用补码表示一个正数的负数。