1.高精度加法
在c++中,由於沒有大整數類,在計算時會出現溢位問題,用兩個陣列分別儲存數值,可以計算出較大的數
#include #include using namespace std;
vectora , b;
vectoradd(vector&a , vector&b)
if(t) c.push_back(1); //看是否還有進製
return c;
}int main()
2.高精度減法
#include #include using namespace std;
vectora , b;
//比較函式,看那個數比較大,用大的減小的
bool cmp(vector&a , vector&b)
vectorsub(vector&a , vector&b)
while(c.size() > 1 && c.back() == 0) c.pop_back();
return c;
}int main()
else//如果後面的比較大,就要加個負號
return 0;
}
高精度加減乘除 C
高精度加法 使用陣列儲存,高位在高角標,低位在低角標,相加向高位進製 c a b,a 0,b 0 vectoradd vector a,vector b if t c.push back t return c 高精度減法 使用陣列儲存,高位在高角標,低位在低角標,相加向高位借位 c a b,滿足a ...
高精度加減乘除 C
高精度加法 使用陣列儲存,高位在高角標,低位在低角標,相加向高位進製 c a b,a 0,b 0 vectoradd vector a,vector b if t c.push back t return c 高精度減法 使用陣列儲存,高位在高角標,低位在低角標,相加向高位借位 c a b,滿足a ...
高精度加減乘除
一。高精度乘法 敲了好久。頭禿 str1,str2是存數字的字串,返回最後的位數,c儲存結果 int highmult char str1,char str2,int c b len2 1 int i,j memset a,0,sizeof a memset b,0,sizeof b memset ...