用Javascript实现两个大数相加

(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);  

})();

查看本栏目更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/webkf/script/

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索var
, length
, len
, ret
, over
, sln打开
, substr
, over()
大数据相加
javascript 数字相加、javascript 数值相加、javascript 数组相加、javascript 小数相加、javascript两个数相加,以便于您获取更多的相关知识。

时间: 2024-05-19 23:07:49

用Javascript实现两个大数相加的相关文章

用javascript实现两个大数相乘

(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.len

C++实现的一个简单两个大数相加程序!

#include <iostream> using namespace std; #define ARRAY_SIZE 50 //Enter a big number, and store it as a string into an array ch, //the size is the numbers of char. void inputNumbers(char ch[], int& size); //Reverse the elements of the array ch. v

oj问题-为什么我的这个大数相加程序在oj上跑出来的结果是OLE

问题描述 为什么我的这个大数相加程序在oj上跑出来的结果是OLE #include<stdio.h>#include<string.h>int main(){ char str1[1001]str2[1001]*num1*num2*p1*p2; int ncase/*多组输入数目*/mcase=1/*输出时的第几个输出计数器*/up/*进位存储器*/len1len2len; scanf(""%d""&ncase); while(nca

大数相加(不开辟额外空间)

大数相加可以借助多种方法来实现,这里提供了一种链表节点的数据域为int型(用char型也可以,这样更省空间)的思路.这篇文章采用常用的转变为字符串进行处理的方法,下面说下我用字符串实现大数相加的思路: 假设输入了如下两个字符串(其中上面的红色部分表示数组的下标,下面的绿色和黄色部分表示各字符): s1: s2: 很明显,s1的实际长度为4,s2的实际长度为7,将二者在最低位出对齐,并将前面空出来的高位用0替换,最高位留出来,以备相加到最左边有进位时,可以保存进位1.移位后如下所示: s1: s2

JavaScript获取两个数组交集的方法

  本文实例讲述了JavaScript获取两个数组交集的方法.分享给大家供大家参考.具体如下: 这里传入的数组必须是已经排过序的 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 /* finds the intersection of * two arrays in a simple fashion. * * PARAMS * a - first array, must alre

php实现两个数组相加的方法

 这篇文章主要介绍了php实现两个数组相加的方法,实例分析了php的数组运算符+的使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下     本文实例讲述了php实现两个数组相加的方法.分享给大家供大家参考.具体如下: 实例1: ? 1 2 3 4 5 6 7 <?php $arr1 = array("a"=>"朝阳区","b"=>"海淀区"); $arr2 = array("h"=&g

JavaScript控制两个列表框listbox左右交换数据的方法

 这篇文章主要介绍了JavaScript控制两个列表框listbox左右交换数据的方法,实例分析了javascript操作列表框listbox的技巧,非常具有实用价值,需要的朋友可以参考下     本文实例讲述了JavaScript控制两个列表框listbox左右交换数据的方法.分享给大家供大家参考.具体分析如下: 这个功能我们经常用到,将左边列表框的元素移动到右边,或者将右边列表框的元素移动到左边,可以一次性全部移动 代码如下: function listbox_moveacross(sour

JavaScript计算两个日期时间段内日期的方法

 这篇文章主要介绍了JavaScript计算两个日期时间段内日期的方法,涉及javascript操作时间的技巧,需要的朋友可以参考下     本文实例讲述了JavaScript计算两个日期时间段内日期的方法.分享给大家供大家参考.具体实现方法如下:   代码如下: /************************* * 计算两个日期时间段内所有日期 * * @param value1 * 开始日期 YYYY-MM-DD * @param value2 * 结束日期 * return 日期数组

Javascript计算两个marker之间的距离(Google Map V3)_javascript技巧

Google Map V3 javascript计算两个marker之间的距离 做地图开发,最常用到的就是marker一些操作和交互.简单介绍一下,两个marker之间的距离计算. google map api 很方便的 只要是常用的 基本上都有接口. 1.创建两个marker点 复制代码 代码如下: var oldMarker = new google.maps.Marker({ position: new google.maps.LatLng("31.95678", "1