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

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

补码转原码

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

(3)负数反码、补码转换 反码转补码,末位+1;补码转反码,末位-1

反码转补码

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

补码转反码

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

3、总结:

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

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

负数的原码、补码转换:符号位不变,数值位按位取反,末位+1

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

猜你喜欢

转载自www.cnblogs.com/afar-blog/p/11971367.html
今日推荐