前言:原码 反码 补码 移码是软考的重点内容,我们需要深刻理解其概念,计算方式和取值范围。
一、原码
原码就是符号化的数值,其编码规则简单直观:正数符号位用0表示,负数符号位用1表示,数值位保持不变。
栗子:
[+1]原=0000 0001[-1]原=1000 0001
二、反码
正数的反码是其本身;负数的反码就是在其原码的基础上,符号位不变,其余各个位取反。
栗子:
[+1]反=0000 0001
[-1]反=1111 1110
三、补码
正数的补码就是其本身;负数的补码是在其反码的基础上+1.
栗子:
[+1]补=0000 0001
[-1]补=1111 1111
四、移码
正数、负数都是在其补码的基础上,符号位取反。
栗子:
[+1]移=1000 0001
[-1]移=0111 1111
计算机中的原码、反码、补码、移码
+1 -1 +0 -0 原码 0000 0001 1000 0001 0000 0000 1000 0000 反码 0000 0001 1111 1110 0000 0000 1111 1111 补码 0000 0001 1111 1111 0000 0000 0000 0000 移码 1000 0001 0111 1111 1000 0000 1000 0000
取值范围