由於位數過多會出現溢位無法正常一位一位顯示的問題,演算法原理:定義大數為字串,通過遍歷從個位依次相加,判斷是否大於10需要進製實現。
**:
#!/usr/bin/php
<?php
error_reporting(e_all);
//兩個大數相加,定義為字串,整型太長會溢位
$a = '987654321098765432109876543210';
$b = '987654321098765432109876543210';
//取兩個數長度
$lena = strlen($a);
$lenb = strlen($b);
//定義和
$sum = '';
//定義進製標誌
$t = 0;
//迴圈(條件:從兩個數末位開始遍歷,直到最長的遍歷完)
for( $i=$lena-1,$j=$lenb-1 ; ($i>=0 || $j>=0) ; $i--,$j-- )else
}//遍歷完畢,判斷進製是否存在,需加1
if($t == 1)
echo $sum.php_eol;
兩個大數相加
兩個大數相加,暫時選擇簡單版本,使用兩個正整數相加,直接上 了,不再囉嗦了。include define maxnum 10000 bool inspectcharvalid char value void add char num1,char num2,char result int main i...
兩個大數相加
大數相加考慮到資料長度有限,因此採用字串的方式進行計算,還要考慮到進製的問題,看下 void big data add char num1,char num2 int intnum2 max len if num1 null num2 null length1 strlen num1 length2...
兩個大數相加
我們以前計算兩個整數的和,需要定義兩個整型變數來儲存兩個運算元。但是,若這兩個數大到任何整型型別都存放不下時,我們該怎麼來計算它們的和呢?這就是我們今天所討論的話題!解決思路 1 儲存問題 我們可以使用字串來儲存運算元,這樣不管運算元有多長都能放得下。2 計算問題 自定加法時,我們要考慮每一位的相加...