1. 原码
某个数按照绝对值转换成的二进制数,如果原来的数是负数,需在二进制的最高位补1。如果是正数,则不变。
2. 反码
正数的反码与原码相同,负数的反码为对原码(除符号位外)的所有位取反。
3. 补码
正数的补码与原码相同,负数的补码为对原码(除符号位外)的所有位取反,然后在最后一位加1。
4. 移码
符号位 0 表示负数,1 表示正数,其他位和补码相同
5. 补码和求补(NEG)的区别
求补运算时不考虑是否有符号位,所有的位都要取反,最后加一,它求得的结果不是求这个数的补码,而是这个数相反数的补码。
6. 求补(NEG)运算的几个方法
- 所有的位都要取反,最后加一
- 0减去这个数的二进制数
- 从右向左找到第一位为1,包括这位1在内的右边所有位数保持不变,左边的全部取反