(function (){ var addLarge = function(n1,n2){ var carry = 0; var ret = ""; n1=n1.toString(); n2=n2.toString(); 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 = (carry + di + dj)>= 10 ? ((carry + di + dj) - 10 + ret) : ((carry+di+dj) + ret); carry = ((carry + di + dj) /10 ) | 0; } if(n1.length != n2.length) { if(n1.length > n2.length){ ret = addLarge(n1.substr(0,n1.length-len),carry.toString()) + ret; } else{ ret = addLarge(n2.substr(0,n2.length - len),carry.toString()) + ret; } return ret; } else{ if(carry> 0){ ret = carry+ ret; } return ret.toString(); } }; // 查看本栏目更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/webkf/script/ var multiply = function(n1,n2){ var nstr1 = n1.toString(); var nstr2 = n2.toString(); var carry = 0; var ret = ""; var di = 0; var dj = 0; var dig = ""; for(var i = nstr1.length - 1 ;i >= 0;i--) { var tmp = ""; var di = parseInt(nstr1[i]) ; for(var j = nstr2.length - 1;j >= 0;j--) { var dj = parseInt(nstr2[j]); var r = di*dj + carry; if(r >= 10) { carry =(r / 10) | 0; tmp = (r%10) + tmp; }else{ carry=0; tmp = r + tmp; } } if(carry > 0){ tmp = carry.toString() + tmp; carry = 0; } if(i < nstr1.length -1) { ret = addLarge (ret ,tmp + dig); } else{ ret = tmp; } dig += "0"; } return ret; }; var a = "1543843275857859592482498432243255"; var b = "1554335546546546662"; console.log(multiply(a,b)); console.log(parseInt(a)*parseInt(b)); })();
以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索tostring
, 大数相乘
, var
, length
, ret
, tmp
, 相乘
parseInt
javascript 相乘、simd指令实现矩阵相乘、c语言实现矩阵相乘、mpi实现并行矩阵相乘、spark实现矩阵相乘,以便于您获取更多的相关知识。
时间: 2024-09-19 13:30:36