js中大整数相加

 2023-09-05 阅读 142 评论 0

摘要:主要思想:逐位相加并进位下面这个字符串相加函数,接收两个字符串参数,并返回它们相加之后的结果,也是字符串形式。代码如下: function sumStrings(a,b) { //通过补零让a和b对齐 //若a比b短,则对a补零 while(a.length < b.length){ a = &#

主要思想:逐位相加并进位
下面这个字符串相加函数,接收两个字符串参数,并返回它们相加之后的结果,也是字符串形式。
代码如下:

function sumStrings(a,b) {  //通过补零让a和b对齐  //若a比b短,则对a补零  while(a.length < b.length){  a = "0" + a;  }  //若b比a短,则对b补零  while(b.length < a.length){  b = "0" + b;  }  //是否有进位  var addOne = 0;  //结果数组  var result = [];  //从个位开始相加  for(var i=a.length-1;i>=0;i--){  var c1 = a.charAt(i) - 0;  var c2 = b.charAt(i) - 0;  var sum = c1 + c2 + addOne;  //若数字相加大于9,则进位  if(sum > 9){  result.unshift(sum - 10);  addOne = 1;  }  else{  result.unshift(sum);  addOne = 0;  }  }  //应付下面的情况:  //"99" + "11" => "110"  //它最后仍然要进位  if(addOne){  result.unshift(addOne);  }  //应付如下的情况  //"01" + "01" => "2"  //而不是"02",所以移除第一位的"0"  if(!result[0]){  result.splice(0,1);  }  return result.join("");  
}  

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/1/915.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息