How to handle numbers bigger than machine representative number?

后端 未结 3 499
温柔的废话
温柔的废话 2021-01-21 07:55

Assuming now I\'m assigning ID number to my database, the database is huge(items more than machine representative number).

I\'m using Java, I know the biggest data type

3条回答
  •  粉色の甜心
    2021-01-21 08:17

    Use java.math.BigInteger.

    BigInteger a = new BigInteger("123456789012345678901234567890");
    BigInteger b = new BigInteger("314159265");
    BigInteger c = a.add(b);
    System.out.println(c);
    

    Note (1) BigIntegers are immutable and (2) you have to use the methods add, subtract, etc. rather than +, -, etc.

    Also, BigInteger (and its floating-point analog, BigDecimal) is much lower slower than primitive types. BigInteger is fine for most cases, but avoid it if possible in performance sensitive code.

提交回复
热议问题