如byte型 45-45=0
byte8位:第1位代表正负,其余7位代表数值(二进制)。
45:00101101(源码)
-45:10101101(源码)
此时,源码相加为11011010,不为0.
反码:正数的反码等于源码,负数的反码等于符号位不变,其余位按位取反。
45:00101101(反码)
-45:11010010(反码)
此时,反码相加为11111111(反码)=10000000(源码)= -0(×)
补码:正数的反码等于源码等于补码,负数的补码在反码的基础上末尾加1.
45:00101101(补码)
-45:11010011(补码)
此时,补码相加为100000000(补码),因为byte为8位,所以取补码后8位为00000000(补码),为正数,所以等于00000000(源码)= +0(√)