首先说为什么会有反码和补码呢?
因为CPU没有实现减法电路。所以只能用加法的电路,这才有了反码和补码的概念。总的来说就是可以辅助减法的运算。
正数的反码是自己。负数在计算补码时,过程如下比如-5
1000 0101 -5的原码
1111 1010 反码。符号位不参与取反
1111 1011 补码。反码加1。符号位也参与运算
正数的补码是自己所以来算下-5 + 5的过程
1111 1011
0000 0101
0000 0000
问题2
为什么Byte类型最小到-2*8 最大到2*8-1
首先Byte一共有一个字节即8位。如果八位表示的是有符号位的数 那么最高位为符号位。0代表正 1代表负数
下面是为什么最低最高值的原因
其实要记住1000 0000 代表-128