原码、反码、补码的简单转换


1、正数的原码、反码、补码是一样的

如+1011111(95)的原码、反码、补码为:

原码 0101 1111
反码 0101 1111
补码 0101 1111

2、负数的原码、反码、补码转换

以-1011111(-95)的原码、补码、反码的转换为例:

(1)负数原码、反码转换

符号位不变,数值位按位取反

原码转反码

原码 1101 1111
反码 1010 0000 //符号位不变,数值位按位取反

反码转原码

反码 1010 0000
原码 1101 1111 //符号位不变,数值位按位取反

(2)负数原码、补码转换

符号位不变,数值位按位取反,末位+1

原码转补码

原码 1101 1111
反码 1010 0000 //符号位不变,数值位按位取反
补码 1010 0001 //末位+1

快速求法为:

符号位不变,从右往左找第一个1,这个1左边的取反,右边的不变

补码转原码

补码 1010 0001 
1101 1110      //符号位不变,数值位按位取反为
原码 1101 1111 //末位+1

(3)负数反码、补码转换

反码转补码,末位+1;补码转反码,末位-1

反码转补码

反码 1010 0000 
补码 1010 0001 //末位+1

补码转反码

补码 1010 0001
反码 1010 0000 //末位-1

3、总结:

正数的原码、补码、反码都一样;

负数的原码、反码转换:符号位不变,数值位按位取反;

负数的原码、补码转换:符号位不变,数值位按位取反,末位+1,【快速求法为:符号位不变,从右往左找第一个1,这个1左边的取反,右边的不变】;

负数的反码、补码转换:反码转补码,末位+1;补码转反码,末位-1。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM