关于高精度乘法进位的两种方法
老师交的是先相乘最后统一进位如for(i=0;i<len1;i++)for(j=0;j<len2;j++)sum[i+j]+=a[i]*b[j];for(i=0;i<le...
老师交的是先相乘最后统一进位如
for(i=0;i<len1;i++)
for(j=0;j<len2;j++)
sum[i+j]+=a[i]*b[j];
for(i=0;i<len1+len2;i++)
{
sum[i+1]+=sum[i]/10;
sum[i]%=10;
}
但我自己写的是分别处理,即一位数相乘后,判断是否大于9,若是则进位加到i+j位,如(sum数组已赋初值0)
for(i=0;i<len1;i++)
{
for(j=0;j<len2;j++)
{
sum[i+j]+=a[i]*b[j];
if(sum[i+j]>9)
{
sum[i+j]%=10;
sum[i+j+1]/=10;
}
}
}
数据小的时候还是对的,但是到了十几二十位是就错了。。。。。。。。。。。。、
求解于高手。。。。。。。。。 展开
for(i=0;i<len1;i++)
for(j=0;j<len2;j++)
sum[i+j]+=a[i]*b[j];
for(i=0;i<len1+len2;i++)
{
sum[i+1]+=sum[i]/10;
sum[i]%=10;
}
但我自己写的是分别处理,即一位数相乘后,判断是否大于9,若是则进位加到i+j位,如(sum数组已赋初值0)
for(i=0;i<len1;i++)
{
for(j=0;j<len2;j++)
{
sum[i+j]+=a[i]*b[j];
if(sum[i+j]>9)
{
sum[i+j]%=10;
sum[i+j+1]/=10;
}
}
}
数据小的时候还是对的,但是到了十几二十位是就错了。。。。。。。。。。。。、
求解于高手。。。。。。。。。 展开
瑞地测控
2024-08-12 广告
2024-08-12 广告
在苏州瑞地测控技术有限公司,我们深知频率同步与相位同步的重要性。频率同步确保两个或多个设备的时钟频率变化一致,但相位(即时间点)可保持相对固定差值。而相位同步,即时间同步,要求不仅频率一致,相位也必须完全一致,即时间差恒定为零。相位同步的精...
点击进入详情页
本回答由瑞地测控提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询