大数乘法
乘法步骤:
取bign 的某一位与int型整数相乘,再与进位相加,所得结果的个位数作为该位的结果,高位部分作为新的进位。
乘法部分程序:
//高精度乘法
bign mul(bign a,int b)
{
bign c;
//进位
int carry=0;
for(int i=0;i<a.len;i++)
{
int temp=a.d[i]*b+carry;
//个位作为该位的结果
c.d[c.len++]=temp%10;
//高位部分作为新的进位
carry=temp/10;
}
//这里和加法不一样,乘法的进位可能不止一位,因此用while
while(carry!=0)
{
c.d[c.len++]=carry%10;
carry/=10;
}
return c;
}