伪代码:
BinNum_Add(A,B,C,n)
for j <- n+1 to 1
do C[j] <- 0
for i <- n to 1
do m <- C[i+1] + A[i] + B[i]
C[i+1] <- m % 2;
C[i] <- m / 2;
C++实现:
void BinNumAdd(int *A,int *B,int *C,n)
{
for(int j = n;j >= 0;j--)
C[j] = 0;
for(int i = n - 1;i >=0;i++){
int m = C[i+1] + A[i] + B[i];
C[i+1] = m % 2;
C[i] = m / 2;
}
}