Converting large numbers from binary to decimal and back in JavaScript

后端 未结 4 1936
感动是毒
感动是毒 2020-11-29 11:54

I have a very large number represented as binary in JavaScript:

 var largeNumber = \'110100110101101000010100111110100101110111110000100101110001111100111110         


        
4条回答
  •  北荒
    北荒 (楼主)
    2020-11-29 12:22

    BigInt is built into js

    function parseBigInt(str, base=10) {
      base = BigInt(base)
      var bigint = BigInt(0)
      for (var i = 0; i < str.length; i++) {
        var code = str[str.length-1-i].charCodeAt(0) - 48; if(code >= 10) code -= 39
        bigint += base**BigInt(i) * BigInt(code)
      }
      return bigint
    }
    
    parseBigInt('11010011010110100001010011111010010111011111000010010111000111110011111011111000001100000110000011000001100111010100111010101110100010001011010101110011110000011000001100000110000011001001100000110000011000001100000110000111000011100000110000011000001100000110000011000010101100011001110101101001100110100100000110000011000001100000110001001101011110110010001011010001101011010100011001001110001110010100111011011111010000110001110010101010001111010010000101100001000001100001011000011011111000011110001110111110011111111000100011110110101000101100000110000011000001100000110000011010011101010110101101001111101001010010111101011000011101100110010011001001111101', 2)
    // 15798770299367407029725345423297491683306908462684165669735033278996876231474309788453071122111686268816862247538905966252886886438931450432740640141331094589505960171298398097197475262433234991526525n
    

提交回复
热议问题