在计算机中,n位补码(表示数据位),表示范围是-2的n-1次方~2的n-1次方-1,其中最小值为人为定义,以n=8为例,其中-128的补码是人为定义的1000 0000。
设机器字长为n(即采用n个二进制位表示数据),最高位是符号位,0表示正号,1表示负号原码表示方式下,除符号位外,n-1位表示数值的绝对值。因此,n为8时,[+0]原=00000000,[-01原=1 0000000正数的反码与原码相同,负数的反码则是其绝对值按位求反。n为8时,数值0的反码表示有两种形式:[+0]反=0 0000000,[-0]反=11111111。正数的补码与其原码和反码相同,负数的补码则等于其反码的末尾加1。在补码表示中,0有唯一的编码:[+0]补=0 0000000,[-0]补=00000000.移码表示法是在数X上增加一个偏移量来定义的,常用于表示浮点数中的阶码。机器字长为n时,在偏移量为21-的情况下,只要将补码的符号位取反便可获得相应的移码表示。
CPU接收到中断请求,会将自己正在执行的程序A的状态进行保存,即保存现场,然后转去处理提交中断申请的程序B,完成程序B之后,再回到程序A中断的断点接着完成程序A。保存现场的目的是为了能正确返回到被中断的程序A继续执行。