大整数加法可谓是学习C++语言的一个里程碑。那么,如何在C++简单易懂地实现大整数加法呢?
概念思路
假定这两个十进制的大整数位数不超过255位。
那么,可以定义两个长度为255的字符数组(num1,num2),以换行符作为分界线,依次读入。
最后,从两个数组的最后一位开始,一位位地向前相加,进位,直到两个数组都被读完或一个数组被读完(此时,更长的一个数组剩下的数字直接输出)。
例如:
num1[5]={'1','2','3','4','5'};
num2[5]={'2','3','4','5','6'};
定义减数i=0,while(i<=strlen(num1)&&i<=strlen(num2))时,对[长度-i-1]所对应的那一个数字进行操作。
如果,两数长度不一的话:
num1[5]={'1','2','3','4','5'};
num2[2]={'5','6'};
那么在i=3的时候,i<strlen(num2)将为false,跳出循环。