Add BIG numbers
by Mohammed Ismail Ansari
JavaScript
function addBigNumbers(number1, number2) {
var number1String = number1.toString(),
number2String = number2.toString(),
resultLength = number1String.length > number2String.length ?
number1String.length :
number2String.length,
carry = 0,
result = "";
while(number1String.length < resultLength)
number1String = "0" + number1String;
while(number2String.length < resultLength)
number2String = "0" + number2String;
for(i = resultLength - 1; i >= 0; i--) {
result = getSum(carry + parseInt(number1String[i]), parseInt(number2String[i])) + result;
carry = getCarry(carry + parseInt(number1String[i]), parseInt(number2String[i]));
}
function getSum(a, b) {
var c = (a + b).toString();
return (c.length > 1) ? c[1] : c;
}
function getCarry(a, b) {
var c = (a + b).toString();
return (c.length > 1) ? parseInt(c[0]) : 0;
}
return carry ? carry.toString() + result : result;
}
var number1 = 309,
number2 = 800;
var bigresult = addBigNumbers(number1, number2);
alert(number1 + " + " + number2 + " = " + bigresult);