版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/mChenys/article/details/84306281
- 原码:就是二进制点表示法,正数最高位是0,负数最高位是1,其余位表示数值大小
- 反码:正数的反码与原码相同;负数的反码符号位不变,其余位和原码相反
- 补码:正数的补码和原码相同;负数的补码等于其反码的末尾+1,
在计算机内,所有数据的运算都是采用补码进行的
例1.已知某数x的原码为10110100,求x的补码和反码?
从最高位是1可以看出,这是一个负数的原码
操作 | 符号位 | 数值位 |
---|---|---|
原码 | 1 | 011 0100 |
反码 | 1 | 100 1011 |
补码 (反码+1) | 1 | 100 1100 |
例2.已知某数x的补码为11101110,求其原码?
最高位是1可知是负数,由于负数的补码=反码+1,所以反码=补码-1,最后再根据反码求其原码。
操作 | 符号位 | 数值位 |
---|---|---|
补码 | 1 | 110 1110 |
反码(补码-1) | 1 | 110 1101 |
原码(反码取反) | 1 | 001 0010 |