c 解決高精度加減問題

2021-10-10 03:12:06 字數 667 閱讀 5252

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 ...