JavaScript Big-Int
这个库是为JavaScript中的大整数操作,如加,减,乘,除,mod,比较等。
这个库的原理是模拟笔和纸的操作,你可以操作整数,大到你的RAM允许。
例
var bigInt = require('big-int');
var a = '218093290301725279849294552737145306526429515095910348328784867259719961681262317171990366018836471452273795738712382654617011499370332067465452153429131133154474494728461513797156576311424209209825768452476998761186844896333150192092696406370188813135474544186922431865203259468892782696696554856807492686240273426580684476908600903286664578178500293562463803241679236095343405558144595606432072340054';
var b = '759453421168594746297585634824794585057708073795685055048450994660667302169842440997187780071628842999365618342370044730249364762070171939525787172608446535167458760784909718498489041640160903072085566658168644606091524276643802085431070120034640336353069020700940598038997582524596177336508';
var c;
// a + b
c = bigInt(a).add(b);
console.log(c.val()); // => 218093290301725279849294552737145306526429515095910348328784867259719961681262317171990366018836471452273795739471836075785606245667917702290246738486839206950159549776912508457823878481266650207013548524105841760552463238703194922342061168440360752661261716795368967032662020253802501195185596496968395758325840084749329083000125179930466663609570413597104139594748256796284003597142178131028249676562
// a - b
c = bigInt(a).sub(b);
console.log(c.val()); // => 218093290301725279849294552737145306526429515095910348328784867259719961681262317171990366018836471452273795737952929233448416753072746432640657568371423059358789439680010519136489274141581768212637988380848155761821226553963105461843331644300016873609687371578475896697744498683983064198207513216646589614154706768412039870817076626642862492747430173527823466888610215394402807519147013081835895003546
// a * b
c = bigInt(a).mul(b);
console.log(c.val()); // => 165631695453560768931354179676327783789554654471289094267396314999551619350086706770637603163259782521350605065527228675367441009889563464536042123812298158775025038552756989906635218183772046533558978457853765293877902141330057087553963131601282691171759816841117292436049592274238065569156249246125691526163874951713797884657704497629753668671292281869762553374641310311774140912980126830919151808832669504364383900117665833031771105917192115442091637918088985032215601898962325376736104912045524501146768304386244267559527475259139329594399610587041338732488477674534017135328109239900803529659849632039837754817318175918697532072796924765669004218196032450409366708571087537016172564891432
// a / b
c = bigInt(a).div(b);
console.log(c.val()); // => 287171384343938182302166283267955634005236318876904228926536131374862297188572994580923635532994904266143630527
// a mod b
c = bigInt(a).mod(b);
console.log(c.val()); // => 592025574073873421838644719778706564169852072684877302818315404363803007260660346662730591457239291807144570448333654917475379749402034885167586678975138436729309695698180319906813373242540831615098968972192135361399928745893872371373756948364150937205578085919887319866770529450275971960338
// chain usage
c = bigInt('100')
.add('50') //
.sub('10') //
.mul('2') //
.div('11'); //
console.log(c.val()); //
APIs
1 .add(n)
添加n。
2 .sub(n)
减n。
3 .mul(n)
乘以n。
4 .div(n)
除以n。
5 .mod(n)
得到n的模。
6 .abs()
返回绝对值。
7 .neg()
返回一个新的bigint与负值的实例值。
8 cmp(n)
与n比较,如果实例值大于n则返回1,如果实例值相等则返回0,如果实例值小于n则返回-1。
9 lt(n)
如果实例值小于n。
10 lte(n)
如果实例值小于或等于n。
11 gt(n)
如果实例值大于n。
12 gte(n)
如果实例值大于或等于n。
JavaScript Big-Int的更多相关文章
- (二)javascript中int和string转换
在javascript里怎么样才能把int型转换成string型 (1)var x=100 a = x.toString() (2)var x=100; a = x +""; // ...
- JavaScript:int string 相互转化
A.把int型转换成string型 (1) var x=100 a = x.toString() (2) var x=100; a = x +&quo ...
- 二、JavaScript语言--JS基础--JavaScript进阶篇--浏览器对象
1.window对象 window对象是BOM的核心,window对象指当前的浏览器窗口. window对象方法:
- 6、JavaScript进阶篇③——浏览器对象、Dom对象
一.浏览器对象 1. window对象 window对象是BOM的核心,window对象指当前的浏览器窗口. window对象方法: 注意:在JavaScript基础篇中,已讲解了部分属性,windo ...
- JavaScript: basis
ref: http://www.imooc.com/code/387 1. html里直接嵌入js: <!DOCTYPE HTML> <html> <head> & ...
- JavaScript基础知识点
本书目录 第一章: JavaScript语言基础 第二章: JavaScript内置对象第三章: 窗口window对象第四章: 文档document对象第五章: 表单form对象第六章: ...
- (二)学习JavaScript之setInterval和clearInterval方法
参考:http://www.w3school.com.cn/jsref/met_win_setinterval.asp HTML DOM Window 对象 定义和用法 setInterval() 方 ...
- JavaScript入门(10)
一.Window对象 window对象是BOM的核心,window对象指当前的浏览器窗口 window对象方法 二.JavaScript计时器 在JavaScript中,我们可以在设定的时间间隔之后来 ...
- Javascript进阶篇——浏览器对象—JavaScript计时器
---恢复内容开始--- JavaScript 计时器在JavaScript中,我们可以在设定的时间间隔之后来执行代码,而不是在函数被调用后立即执行.计时器类型:一次性计时器:仅在指定的延迟时间之后触 ...
- javascript windows对象
1.windows对象方法 2.计时器方法 3.计时器setInterval() <!DOCTYPE HTML> <html> <head> <meta ht ...
随机推荐
- SQL合并数据
--CREATE TABLE TMaterial (PMaterial INT,FName NVARCHAR(32))--INSERT INTO TMaterial--SELECT 1,'A' UNI ...
- pip和 easy_insall的区别
作为Python爱好者,如果不知道easy_install或者pip中的任何一个的话,那么...... easy_insall的作用和perl中的cpan,ruby中的gem类似,都提供了在线一键 ...
- opencv 摄像头人脸检测
PYTHON ubuntu16.04 默认安装的Python版本2.7.12,当用pip install opencv-python 安装了opencv for python 3.3.0.10后,运行 ...
- java----IO和NIO的区别
概念:NIO即New IO,这个库是在JDK1.4中才引入的.NIO和IO有相同的作用和目的,但实现方式不同,NIO主要用到的是块,所以NIO的效率要比IO高很多.在Java API中提供了两套NIO ...
- php -- instanceof、class_exists、insterface_exists、method_exists、get_class、get_parent_class
class_exists:类是否存在 在创建对象之前判断类是否存在,如果不存在就应该先加载类,再创建对象,容错. interface_exists:接口是否存在 method_exists:方法是否存 ...
- 学习:record用法
详情请参考官网:http://www.erlang.org/doc/reference_manual/records.html http://www.erlang.org/doc/programmin ...
- 复习及总结--.Net线程篇(1)
老是没耐心写这些东西,最近想想也工作两年了,该对自己的东西做个整理了,不知道这次能坚持写几篇,总得来说尽量督促自己吧 言归正传,.net中的多线程主要可以使用两种方法进行调用 1,异步调用 2,Thr ...
- Java中关于枚举的7种用法
1.定义常量: public enum Color { RED,ORANGE,YELLOW,GREEN,INDIGO,BLUE,PURPLE } 2.用于switch: enum Color { RE ...
- spring @Transactional注解参数详解(转载)
事物注解方式: @Transactional 当标于类前时, 标示类中所有方法都进行事物处理 , 例子: 1 @Transactional public class TestServiceBean i ...
- 160503、onunload、onbeforeunload事件详解
最近项目中做到一个功能:在上传页面用户开始上传文件之后用户点击任意跳转都需要弹出提示层进行二次确定才允许他进行跳转,这样做的目的是为了防止用户的错误操作导致这珍贵的UGC 流失(通常用户在一次上传不成 ...