高精度加法模板

string high_add(string str1, string str2) //传入两个加数,返回结果

{

    int len1 = str1.size () ;

    int len2 = str2.size () ;



    while(len1 < len2)

    {

        str1 = '0'+ str1 ;

        len1 ++ ;

    }

    while(len2 < len1)

    {

        str2 = '0' + str2 ;

        len2 ++;

    }



    str1 = '0' + str1 ;

    str2 = '0' + str2 ;

    for(int i = str1.size () - 1 ; i > 0  ; i--)

    {

        str1[i] = str1[i] + str2[i] - '0' ;

        if(str1[i] - '0' > 9)

        {

            str1[i] = str1[i] - 10 ;

            str1[i-1] = str1[i-1] + 1 ;

        }

    }

    if(str1[0] == '0')

    {

        str1 = str1.substr ( 1 , str1.size ()-1 ) ;

    }

    return str1 ;

}

 

你可能感兴趣的:(模板)