首页 > 代码库 > 两个大数相加 ----Javascrit 实现

两个大数相加 ----Javascrit 实现

(function(){

var addLarge = function(n1,n2){
var over = 0;
var ret = "";


var len = Math.min(n1.length,n2.length);
var sln1 = n1.substr(n1.length - len,n1.length );
var sln2 = n2.substr(n2.length - len,n2.length );

for(var i = len;i > 0; i--)
{

var di = parseInt(sln1[i-1]);
var dj = parseInt(sln2[i-1]);

ret = (over + di + dj)>= 10 ? ((over + di + dj) - 10 + ret) : ((over+di+dj) + ret);

over = ((over + di + dj) /10 ) | 0;

}




if(n1.length != n2.length)
{
if(n1.length > n2.length){
ret = addLarge(n1.substr(0,n1.length-len),over.toString()) + ret;
}
else{
ret = addLarge(n2.substr(0,n2.length - len),over.toString()) + ret;
}

return ret;
}

else{
if(over > 0)
ret = over + ret;

return ret;
}


};

var l1 = "9999999999999";
var l2 = "1111111111111";
var r = addLarge(l1,l2);
console.log(r);



})();