1.计算机中存储整数用的都是补码,取反运算都是对补码进行取反,
2.所有的数字大小都是根据源码的大小计算的
3.正数的反码,补码和原码相同,负数的反码是除了符号位以外取反,负数的补码为反码加1
4.对补码再求补码既是原码
有个int 类型的 9,在内存中的存储形式为00000000 00000000 00000000 00001001 补码,反码都是这一个
当我们客观看-9时,就是最高位的符号位为1,10000000 00000000 00000000 00001001
这个负数的反码为11111111 11111111 11111111 11110110
这个负数的补码为11111111 11111111 11111111 11110111,既是在内存中的存储形式
取反操作是内存中的补码每位取反,
~ 00000000 00000000 00000000 00001001
---------------------------------------------------------------------
11111111 11111111 11111111 11110110 对应十进制的-10
取反10000000 00000000 00000000 00001001
再加一 10000000 00000000 00000000 00001010 这个数就对应-10的原码