function add(num1, num2) {
const maxLen = Math.max(num1.length, num2.length);
// 将两个大数的长度处理成一致方便后续计算
num1 = num1.padStart(maxLen, '0')
num2 = num2.padStart(maxLen, '0')
let sum = “” // 总数
let bit = 0 // 进位
let singSum = 0 // 记录某一位的和
for(let i = 0;i<num1.length; i++) {
singSum = Number(num1[i]) + Number(num2[i]) + bit
bit = Math.floor(singSum/10) // singSum是10的几倍
sum = singSum%10 + sum // sum等于i位的值加之前位数的和
}
// 如果计算到最后一位有进位,需要加上
if (bit >0) {
sum = bit + sum
}
}
大数相加算法
最新推荐文章于 2024-04-09 23:46:24 发布