原码、反码、补码
1、原码:一种计算机中对数字的二进制定点表示方法。原码表示法在数值前面增加了一位符号位(即最高位为符号位):正数该位为0,负数该位为1(0有两种表示:+0和-0),其余位表示数值的大小
在计算机中运算时会产生两个整数相加为负数的现象,因此在计算机存储中不会采用原码形式。
2、反码:数值位就是真值的绝对值,符号位位“0”时表示正数,符号位为“1”时表示负数,原码又称带符号的绝对值。为了方便整数和小数区别,整数的符号位与数值位之间用“,”隔开,小数的符号位与数值位之间用“.”隔开
在计算机运算时会产生正负0的现象,因此在计算机存储中不会采用反码形式。
3、补码:在计算机系统中,数值一律用补码来表示和存储。原因在于,使用补码,可以将符号位和数值域统一处理;同时,加法和减法也可以统一处理。
三者之间的转换
1、正数的原码、反码、补码完全一样,数值位相同
2、负数的反码为原码符号位1不变数值位取反
负数的补码为原码除符号位不变,数值位取反加一