用 500 表示-500
用 501 表示-499
用 502 表示-498
用 998 表示-2
用 999 表示-1
用 000表示 0
用001表示1
用 002表示 2
用497表示 497
用498表示 498
用 499表示 499
也就是说,以5,6,7,8或9开头的三位数实际上表示的都是负数,而不是把数字写成这样:
–500, –499, -498 … -4, -3, -2, -1, 0, 1, 2, 3, 4 … 497, 498, 499
用这种表示法,我们可以将它们写成:
500,501,502…996,997,998,999,000,001,002,003,004497,498,499
注意,这就形成了一个循环排序。最小的负数(500)看起来像是最大正数(499)的延续。而数字999(实际上是-1)是比0小1的第一个负数。如果我们在999上加1,通常会得到1000。由于我们处理的是三位数,这个结果实际上就是000。
这种标记方法称为10的补数(ten's complement)。为了将三位负数转化为10的补数,我们用999减去它再加1。也就是说,对10求补数就是对9的补数再加1。例如想要得到-255对10的补数,用999减去255得到744,然后再加1,得到745。
你可能听说过:“减一个数就等于加一个负数。”你可能会回答:“实际上还是减去了这个数。”然而,利用10的补数,我们将不会再用到减法。所有的步骤都用加法来进行。
13 如何实现减法
157