大数乘法

乘法步骤:

    取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;


}