C語(yǔ)言完成兩個(gè)大整數(shù)的相加 實(shí)現(xiàn)兩個(gè)大整數(shù)相加運(yùn)算的算法?
實(shí)現(xiàn)兩個(gè)大整數(shù)相加運(yùn)算的算法?使用長(zhǎng)數(shù)組存儲(chǔ)大數(shù),數(shù)組的每個(gè)元素存儲(chǔ)大數(shù)的若干位,如num[1000],每個(gè)num[i]存儲(chǔ)一位,即1E i×num[i]的和,大數(shù)的乘除是多項(xiàng)式乘除法。當(dāng)num[i]
實(shí)現(xiàn)兩個(gè)大整數(shù)相加運(yùn)算的算法?
使用長(zhǎng)數(shù)組存儲(chǔ)大數(shù),數(shù)組的每個(gè)元素存儲(chǔ)大數(shù)的若干位,如num[1000],每個(gè)num[i]存儲(chǔ)一位,即1E i×num[i]的和,大數(shù)的乘除是多項(xiàng)式乘除法。當(dāng)num[i]中的數(shù)字大于10時(shí),我們應(yīng)該注意進(jìn)位。很容易理解,一個(gè)數(shù)字保存在一個(gè)數(shù)字中,但它需要大量?jī)?nèi)存。一般來(lái)說(shuō),我們可以在一個(gè)num[i]中保存盡可能多的數(shù)字,而不會(huì)溢出四個(gè)操作,例如保存20個(gè)數(shù)字
~],使用char*或char[]來(lái)表示大的數(shù)字。需要循環(huán)和進(jìn)位標(biāo)志。一般過(guò)程如下:for(int carryflag=0,省略){int digit=STR1[i]-“0”STR2[i]-“0”carryflag carryflag=digit>=10?1:0digit=數(shù)字%10res[i]=數(shù)字“0”}