• 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') // 150
            .sub('10') // 140
            .mul('2') // 280
            .div('11'); // 25
    console.log(c.val()); // 25

    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。

  • 相关阅读:
    119. Pascal's Triangle II
    118. Pascal's Triangle
    112. Path Sum
    111. Minimum Depth of Binary Tree
    110. Balanced Binary Tree
    108. Convert Sorted Array to Binary Search Tree
    88. Merge Sorted Array
    83. Remove Duplicates from Sorted List
    70. Climbing Stairs
    陌陌面试经历
  • 原文地址:https://www.cnblogs.com/jiangxiaobo/p/5974584.html
Copyright © 2020-2023  润新知