例:若机器字长为8,请给出45和-45的原码、反码、补码和移码
解释一下:
- 对于原码和反码,正数的符号位为0,负数的符号位为1,数值位用二进制表示绝对值,对于负数的反码是对其原码按位取反;
- 补码是将负数的原码按位取反,然后在末位加1得到的,正数的补码和原码相同。负数的补码在数值位上与其绝对值的原码一样;
- 移码是将补码的符号位取反,再加上一个偏移量得到的,例如以8位移码为例,偏移量为2的8次方,即256,45的移码为01011010,等于补码加上256,而-45的移码为10110110,等于补码减去256。