首页 > 技术文章 > 原码、反码、补码

blogg 2018-08-28 21:26 原文

1. 原码
(红色代表符号位,0表示整数,1表示是负数)
0000 0001 //表示正数1
1000 0001 //表示负数1

2. 反码
正数的反码是其本身,保持不变。
负数的反码是在其原码上, 符号位不变,其余位取相反数。
正数原码 00000001 反码等于 00000001
负数原码 10000001 反码等于 11111110


3. 补码
原码>>>反码>>>补码
以上是转换的流程。
正数的补码就是其本身
负数的补码是在其原码的基础上, 符号位不变, 其余各位取反, 最后+1. (即在反码的基础上+1)
00000001(原码) >>> 00000001(反码) >>>00000001(补码)
10000001(原码) >>> 11111110 (反码) >>>11111111(补码)

推荐阅读