明确:java代码中的整数一般都是10进制
正整数的存储:直接将正整数转成二进制存入计算机内存
负整数的存储:需要涉及到原码,反码,补码的概念,将补码存入计算机内存
原码: 将负整数去绝对值,然后转成二进制
反码: 将原码按照每个位置取反
补码:将反码 + 1
-7 :
转成原码: 7 ---> 0000-0000 0000-0000 0000-0000 0000-0111
转成反码: 1111-1111 1111-1111 1111-1111 1111-1000
转成补码: 1111-1111 1111-1111 1111-1111 1111-1000 + 1 ---> 1111-1111 1111-1111 1111-1111 1111-1001
-16 :
原码: 0000-0000 0000-0000 0000-0000 0001-0000
反码: 1111-1111 1111-1111 1111-1111 1110-1111
补码: 1111-1111 1111-1111 1111-1111 1110-1111 + 1 ---> 1111-1111 1111-1111 1111-1111 1111-0000
总结: 1. 负整数存入的是补码,正整数三码合一
2. 正整数最高位是:0 ,负整数最高位是:1
3. 奇数的最低位是:1,偶数最低位是:0
补充:在二进制中,0取反1,1取反0