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。
原文地址:https://www.cnblogs.com/afar-blog/p/11971367.html
时间: 2024-10-31 12:23:09