第一步将一个数转换为二进制的表达形式;第二步确定用多少个字节来存这个数,若是1个字节就是八个bit,首位就是最高位,也就是从右往左数最后一位是符号位,0表示正数,1表示负数。如果不足8位往左边补0;正数的反码、补码和原码相同;正数移码是在补码基础上把符号位取反。负数的反码先提取出符号位不要改变,其他的按位取反;负数的补码是在反码基础上加一;负数移码是在补码基础上把符号位取反。
如:
数值1 数值-1 1-1
原码: 00000001 10000001 10000010
反码: 00000001 11111110 11111111
补码: 00000001 11111111 00000000
移码: 10000001 01111111 10000000
数值的取值范围
原码 -(2n−12n−1-1)~2n−12n−1-1
反码 -(2n−12n−1-1)~2n−12n−1-1
补码 -2n−12n−1~2n−12n−1-1