该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
//数组倒置函数
void Big_int::reversal()
{
int i,temp;
for(i=0;i
{
temp=addend[i];
addend[i]=addend[bits-1-i];
addend[bits-1-i]=temp;
}
}
//加法器函数
Big_int *adder(Big_int *p,Big_int *q)
{
int i,x,y,Bits,carry=0;
Big_int *result;
result=new Big_int;
result->bits=0;
p->reversal();
q->reversal(); //加数数组倒置,方便计算
cout<addend<
cout<addend<
Bits=p->bits>q->bits?p->bits:q->bits;
cout<
for(i=0;i
{
if(i>=p->bits)
p->addend[i]='0';
if(i>=q->bits)
q->addend[i]='0';
x=p->addend[i]-'0';
y=q->addend[i]-'0';
result->addend[i]=(x+y+carry)%10+'0';
result->bits++;
if(x+y+carry>9)
carry=1;
else
carry=0;
}
if(carry==1)
{
result->addend[result->bits]='1';
result->bits++;
}
else
result->addend[result->bits]='\0';
result->reversal();
return result;
}
本文介绍了一种大整数加法的实现方法及数组倒置函数。通过对加数数组进行倒置来简化计算过程,并详细展示了加法器函数的工作原理,包括进位处理和结果构造。
1万+

被折叠的 条评论
为什么被折叠?



