开发者社区> 问答> 正文

如何实现两个非常大的数字(已经超出了Number范围)的加法运算。 注意由于这两个已经超过了Num

如何实现两个非常大的数字(已经超出了Number范围)的加法运算。

注意由于这两个已经超过了Number范围,因此不能用Number存,这里我们选择使用字符串存储。

展开
收起
景凌凯 2020-03-25 22:44:42 953 0
1 条回答
写回答
取消 提交回答
  • 有点尴尬唉 你要寻找的东西已经被吃掉啦!

    function bigNumberSum(a, b) { // 123456789 // 000009876

    // padding let cur = 0; while (cur < a.length || cur < b.length) { if (!a[cur]) { a = "0" + a; } else if (!b[cur]) { b = "0" + b; } cur++; }

    let carried = 0; const res = [];

    for (let i = a.length - 1; i > -1; i--) { const sum = carried + +a[i] + +b[i]; if (sum > 9) { carried = 1; } else { carried = 0; } res[i] = sum % 10; } if (carried === 1) { res.unshift(1); }

    return res.join(""); }

    2020-03-25 22:44:51
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
重新定义计算的边界 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载