机器数有三种码来表示,原码,反码,补码。汇编语言中,数都是用补码的形式表示的。
原码:原码将最高位作为符号位,正数位0,负数为1。其余的7位数作为数值位。
反码:正数的反码和正数的原码一样。求负数的反码时,符号位为1,数值位在原码的基础上求反。
补码:正数的补码和正数的原码一样。求负数的补码时,符号为1,数值位在源码的基础上求反加1.
例如:十进制+5和-5表示成二进制原码,补码和反码:
[+5]原= [+5]反=[+5]补=00000101B
[-5]原=10000101B
[-5]反=11111010B
[-5]补=11111011B