669 Shares 3661 views

BigInteger Java: Trabalhando com grandes números

Java é principalmente usado para escrever aplicações web de grandes empresas. No entanto, também é aplicável a outras áreas, onde muitas vezes há a necessidade de trabalhar com muito grandes números. Embora Java tem tipos primitivos, há situações onde eles não são suficientes.

Sabe-se que todos os primitivos têm uma característica desagradável – o tipo de excesso, em que a saída de gama leva a cálculos incorrectos. Para este efeito, existe um BigInteger classe especial. Java não seria Java, se não fosse uma classe separada com funcionalidade para este caso. Vamos considerá-lo mais detalhadamente.

Classe BigInteger Java: Descrição

Como você sabe, a classe BigInteger embrulha para grandes valores inteiros. Para encapsular um número neste tipo de objeto, você pode usar uma das sobrecargas de seu construtor ou um método estático valueOf. Construtor como um argumento pode tomar uma matriz de cadeia ou byte. Para converter os tipos simples que representam inteiros em BigInteger Java usar o método valueOf estática.

Desde Java há possibilidade de sobrecarga de operadores para executar operações matemáticas em encapsulado nesta valores de classe, desde que o método apropriado. Sobre eles ainda serão discutidos.

Java BigInteger: métodos e exemplos de seu uso

Essa classe tem à sua disposição um conjunto de métodos que permitem manipular valores numéricos, e executar sobre eles a variedade de operações matemáticas. Abaixo está uma lista desses métodos.

Vamos métodos que executam operações aritméticas:

– adicionar (valor) – realiza a adição dos valores actuais do objecto, com o é transferido como um argumento;

– subtrair (subtractor) – executa a Subtractor subtrai o valor da corrente;

– multiplicar (valor) – multiplica;

– dividir (divisor) – executa a divisão do valor corrente no divisor;

– POW (int arg) – aumenta o valor do objecto causada pelo valor de potência em arg;

– abs () – retorna o valor absoluto do objeto chamando;

– negate () – retorna BigInteger objeto cujo valor é de sinal oposto.

Vejamos um exemplo simples de uma operação aritmética em dois valores encapsulados no objeto:

– BigInteger val1, val2, acrescentando, dividindo, oppositeSign;

– val1 = new BigInteger ( "5");

– val2 = BigInteger.valueOf (10);

– adicionando = val1.add (val2);

– divisória = val2.divide (val1);

– oppositeSign = val1.negate ();

Preste atenção à maneira de criar objetos. val1 variável inicializada usando o construtor, aceitando uma string e armazena o valor 5. val2 tem o valor de 10, como resultado de um valueOf método estático. valor variável adicionando o resultado da soma das duas primeiras variáveis e é igual a 15. A divisória variável armazena respectivamente o resultado da subtracção. val1 oppositeSign é o valor com o sinal oposto, ou seja. e. -5.

conclusão

Como você pode ver, a classe BigInteger Java fornece uma variedade de ferramentas para operações em números muito grandes. Neste tipo de transbordam é possível, desde que a segurança no Java é uma das maiores prioridades, é claro, sem comprometer a funcionalidade.