原码、反码和补码分别是什么?
原码是计算机中对数字的二进制的定点表示方法,最高位表示符号位,其余位表示数值位。优点是易于分辨,缺点是不能够直接参与运算。
正数的反码和其原码一样;负数的反码,符号位为1,数值部分按原码取反。
如 [+7]原 = 00000111,[+7]反 = 00000111; [-7]原 = 10000111,[-7]反 = 11111000。
正数的补码和其原码一样;负数的补码为其反码加1。
例如 [+7]原 = 00000111,[+7]反 = 00000111,[+7]补 = 00000111;
[-7]原 = 10000111,[-7]反 = 11111000,[-7]补 = 11111001
之所以在计算机中使用补码来表示负数的原因是,这样可以将加法运算扩展到所有的数值计算上,因此在数字电路中我们只需要考虑加法器的设计就行了,而不用再为减法设置新的数字电路。