السلام عليكم...
في لغة php او اي لغة برمجة...كيف يمكنني أن اجري عمليات حسابية على أعداد كبيرة جدا (تتكون من اكثر من 30 رقم) ؟
حاولت إنشاء دالة للقيام بجمع اعداد بإستخدام طريقة الجمع العمودي وتخزين النتيجة كنص عوض رقم... ولكنها أحيانا لا تعطي نتائج صحيحة !!!
<?php
echo add ('1111111111111111111111111111111111111111111111111111119', '5');
function add ($x, $y) {
$a = strlen ($x);
$b = strlen ($y);
$l = abs ($a - $b);
$c = max ($a, $b) - 1;
$u = 0;
$r = '';
if ($a > $b) $y = str_repeat ('0', $l) . $y;
if ($b > $a) $x = str_repeat ('0', $l) . $x;
while ($c != 0) {
$d = $x[$c] + $y[$c];
if ($d >= 10) {
$r .= ($d % 10) + $u;
$u = ($d / 10) % 10;
} else {
$r .= $d + $u;
$u = 0;
}
$c--;
}
$r .= strrev ($x[0] + $y[0] + $u);
return strrev ($r);
}
التعليقات