[RESOLVIDO] Adição de BigInteger Além dos Long

Boa noite.
Tem como fazer adição de BigInteger, com números maiores que o limite de um Long?

Sim, justamente esse o propósito das classes BigInteger e BigDecimal.
Dê uma olhada na documentação dessas classes, vai encontrar os métodos de soma, subtração, adição e multiplicação.

Se você tem equações muito complexas, recomendo que utilize a API javolution, as classes numéricas dessa API são muito mais rápidas e leves que o BigInteger e BigDecimal.

1 curtida

Não encontrei forma de somar sem usar números long. Conhece alguma?

Consultou a documentação?

1 curtida

Agora
Esse exemplo abaixo dá a exceção Exception in thread “main” java.lang.NumberFormatException: Zero length BigInteger
Exemplo
BigInteger fator1 = new BigInteger(“9223372036854775807”);
BigInteger fator2 = new BigInteger(“9223372036854775807”);
BigInteger soma = new BigInteger("");
soma.add(fator1);
soma.add(fator2);

    //long valor = Long.MAX_VALUE;
    System.out.println(soma);

Antes
Eu li a documentação apresentada dentro da IDE e, agora, consultei da Oracle pra ver se consta alguma diferença, entretanto não consigo ver uma possibilidade de somar valores maiores que o limite de long, sendo que o add() pede um long e quando adicionamos um valor, manualmente, ele pede uma string.

Claro, olha como você está instanciando seu BigInteger:

BigInteger soma = new BigInteger("");

Uma String vazia não é um número.

Deveria ser assim:

BigInteger soma = fator1.add(fator2);
1 curtida