假设两个非负高精度整数分别存储在数组 a 和 b 中,且 。数组采用低位在前的方式存储,即
a[0] 表示个位。下面代码中的 c 可以正确保存 a - b 的各位数字。
int borrow = 0;for (int i = 0; i < len; ++i) { int t = a[i] - b[i] + borrow; if (t < 0) { t += 10; borrow = 1; } else { borrow = 0; } c[i] = t;}