原码:最高位为符号位 0表示正 1表示负 其他数表示数值的大小 通过一个字节 也就是8个二进制位表示+7和-7 0 0000111和1 0000111
反码:正数的反码与原码相同 负数的反码是对原码逐位取反 符号位除外
补码:整数的补码与原码相同 负数的补码是在其反码的末尾加1
举例:计算机都是以补码的形式去运算的
int 类型占四个字节 正数:0 1111111 11111111 11111111 11111111 =2147483647
int 类型占四个字节 负数:1 0000000 00000000 00000000 00000000 =-2147483648
练习1:
已知原码求补码
0b10110011
1 0110011(原码)
1 1001100(反码)
0 0000001(+1)
1 1001101
练习2:
以知补码求原码
0b10011001
1 0011001(补码)
0 0000001(-1)
1 0011000