首先,先说一下,整数的的二进制表示方法有三种,即原码,反码,补码.
数据存放内存中其实存放的是补码.
我们知道int类型占4个字节,即32个bit位,下面举的例子会用32位数表示
一个整数二进制最高位为符号位,0表示正,1表示负.比如-10的原码(原码就是将对应的数转换成二进制序列)为10000000000000000000000000001010,而10的原码为 00000000000000000000000000001010.
那么下面说三种码之间的关系
原码--------------------------------------->反码------------------------------------->补码
(符号位不变,按位取反) (反码+1)
由补码到原码也是同样的同样的操作.
上面就是原码,反码,补码的关系.