返回信息流哪位大牛帮帮忙,讲解一下编程思路~~有代码更好.谢谢了
这是一条镜像帖。来源:北邮人论坛 / cpp / #17729同步于 2008/12/18
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖
询问一下:高精度加乘法 C语言
wu
2008/12/18镜像同步15 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
要是要求精度的话可以用字符数组模拟日常的加乘法,幸好没有除法,应该不难,只要长度足够就可以打到要求的任何精度了
【 在 wu (维系) 的大作中提到: 】
: 哪位大牛帮帮忙,讲解一下编程思路~~有代码更好.谢谢了
用数组来保存数,每个元素保存整数的相应位
然后对应元素相加,处理一下进位就行
就跟小时候手算加法一个道理
【 在 wu 的大作中提到: 】
: 能不能具体些~~不大了解
2进制
bitset<1030> final;
bitset<1030> fan1,fan2;
void add(bitset<1030> fan1,bitset<1030>fan2)
{
bool in=0;
for(int i=0;i<1030;i++)
{
final[i]=fan1[i]^fan2[i]^in;
in=fan1[i]&fan2[i] | fan1[i]&in | fan2[i]∈
//cout << in <<endl;
}
}
10进制
for(int i=0;i<max;i++)
{
an1[i]+=an2[i];
if(an1[i]>=10)
{
an1[i]-=10;
an1[i+1]++;
}
}
bool start=false;
for(int i=max;i>=0;i--)
{
if(start) printf("%d",an1[i]);
else if(an1[i])
{
printf("%d",an1[i]);
start=true;
}
}