首先,在有限且循环的计数系统中,模M是确定的,那(a-x) mod M == a+(M-x) mod M,即 a-x ≡ a+(M-x) (mod M)
,满足同余定理,x与M-x互补,有减法变为加法的数学基础,而且ALU的门电路设计成了可以对有限位进行循环的加操作,并且丢弃溢出位,也就是有规律的overflow
(类似于指针表盘),那么减法变为加法也有了物理基础.
在此种计数系统中 : a-x == a+(M-x) == a+(M-1-x+1)
a+(M-x) :还有减法M-x,而且无法化简,无法施行.
a+(M-1-x+1) :可以看到M-1-x还有减号,但其最终结果值总是x的按位取反(二进制专属操作),即反码,反码加一就是补码,也就是说M-1-x+1是x的补码(x>0).
即: a- x.原码 == a+ x.补码 (想象一下表盘,指针顺逆时针回拨一小时(-1)和顺时针往前拨11小时(+11),结果相同,这个原理是相似的.)