Java Biginteger

Java Biginteger

Java oferece uma classe Biginteger especial para gerenciar números extremamente grandes que são maiores que números de 64 bits. O tamanho dos valores inteiros que essa classe pode lidar é simplesmente restringido pela memória alocada da JVM. A classe biginteger, que herda um número.implementa a interface comparável. Dá equivalentes a cada operador inteiro primitivo Java, bem como todos os métodos do Java.Lang.módulo de matemática. O valor armazenado do objeto Biginteger não pode ser modificado por causa da imutabilidade da classe Biginteger.

Exemplo 1:

O programa a seguir fornece uma maneira de criar o BigInteger em Java e aplica a operação aritmética ao valor fornecido BigInteger.


Importamos a classe Biginteger do pacote de matemática Java dentro do programa. Depois disso, declaramos os objetos de Biginteger "Bigint1" e "bigint2" no método principal () da classe Java "bigintegerexample.Em seguida, inicializamos os objetos biginteger com os grandes valores numéricos dentro da classe Biginteger. Criamos outro objeto da classe Biginteger para realizar a operação aritmética no valor inteiro grande especificado. Os objetos são declarados como "multiplicação" para multiplicar o valor do bininteger e a "divisão" para dividir o valor do biginteger.

Em seguida, atribuímos o "bigint1" junto com o método multiply () de biginteger para o objeto "multiply", que leva a entrada "bigint2."Além disso, chamamos o método Division (), que leva o parâmetro" bigint2 ", que será dividido com" bigint1 "e imprime os resultados após a execução.

Os resultados da operação de multiplicação e divisão nos valores Biginteger são mostrados na seguinte imagem de saída. É assim que o biginteger está configurado em java e usado para várias operações.

Exemplo 2:

A computação fatorial é uma boa ilustração de um número inteiro recebendo entradas muito grandes. O biginteger também pode ser utilizado para obter o fatorial para valores inteiros maiores.


Criamos a função "fatorial" da classe Biginteger, onde o objeto "num" do tipo int é passado como um argumento para devolver o fatorial do valor "NUM."Dentro da função" fatorial ", declaramos um objeto Biginteger" max_fict ", onde o valor do biginteger" 2 "é especificado. Depois disso, implantamos o loop for, que iterará e multiplicará o valor "max_fict" com 4, 5, e até o enésimo valor como o método multiply () é chamado. O próprio Multiply () é chamado outro método "Valueof", onde o objeto "i" do loop for fornecido. A declaração de devolução fornecerá o fatorial maior. Em seguida, estabelecemos o método principal do programa (). Inicializamos o objeto "num" com o valor e imprimimos o fatorial do "num" do método Fatorial ().

O valor fatorial do número "40" fornece o valor Biginteger da seguinte maneira:

Exemplo 3:

A função bitCount () da classe biginteger conta os bits. O método bitCount () fornece o número de bits que estão na forma de dois complementos neste biginteger e são diferentes do bit de sinal. Este método retorna os bits definidos quando o valor do biginteger é positivo. Por outro lado, se o biginteger for especificado com um valor negativo, esse método retorna o número de bits de redefinição.


Declaramos duas variáveis, "B1" e "B2" da classe Type "Biginteger."Também definimos mais duas variáveis," Integer1 "e" Integer2 ", int Tipo primitivo. Após a declaração, inicializamos o "B1" com o valor positivo do BigInteger e o "B2" com o valor negativo do BigInteger. Em seguida, atribuímos o "Integer1" e "Integer2" com o método BitCount () para as variáveis ​​biginteger "B1" e "B2.”Os bits contados serão obtidos do método bitCount () para os valores especificados de biginteger.

O biginteger positivo fornece os bits "2" e o valor negativo do biginteger produz o valor "1".

Exemplo 4:

O valor absoluto dos dados numéricos de tamanho grande em Biginteger pode ser determinado usando o método ABS () da classe Biginteger. O método ABS () retorna o valor absoluto do Biginteger.


Temos uma classe Biginteger, da qual declaramos quatro variáveis: "big1", "big2", "big3" e "big4". As variáveis ​​"big1" e "big2" são especificadas com valores positivos e negativos, respectivamente. Depois disso, invocamos o método ABS () com "big1" e "big2" nas variáveis ​​"big3" e "big4". Observe que o método abs () não aceita nenhum valor de entrada, mas é chamado com as variáveis ​​"big1" e "big2". O método ABS () obtém o valor absoluto para essas variáveis ​​Biginteger e os resultados serão impressos no horário de compilação.

O valor absoluto dos valores positivos 432 e negativos 432 é o mesmo porque o método abs () sempre retorna o valor absoluto positivo.

Exemplo 5:

A comparação dos valores de Biginteger pode ser alcançada usando o método biginteger compareto (). O biginteger é comparado ao biginteger que é inserido como um parâmetro dentro do método compareto (). O valor de retorno do método compareto () é baseado nos valores Biginteger. Quando a comparação do valor de Biginteger é igual, o zero é retornado. Caso contrário, "1" e "-1" são devolvidos com a condição de que o valor do BigInteger seja maior ou menor do que o valor do Biginteger passado como um argumento.


Temos objetos "mybigint1" e "mybigtint2" Declaração da classe "biginteger.”Esses objetos são então especificados com os mesmos valores de Biginteger. Depois disso, criamos outro objeto, "CompareValue", onde o objeto "mybigint1" é chamado com o método compareto (), e o objeto "mybigint2" é passado como um argumento para comparar com o objeto "mybigint2". Em seguida, temos uma declaração if-else em que verificamos se os resultados do método compareto () são iguais ao valor "0" ou não.

Como ambos os objetos biginteger têm os mesmos valores, os resultados compareto () retornam zero, como mostram na imagem abaixo.

Exemplo 6:

O método Flipbit (índice) BigInteger também pode ser usado para virar em um local específico de bits dentro de um biginteger. Este método avalia (bigint ^ (1<


Definimos duas variáveis ​​biginteger, "b_val1" e "b_val2.”A variável“ B_VAL1 ”é inicializada com a classe Biginteger, onde o valor é especificado. Em seguida, definimos a variável "B_VAL2" com o método Flipbit (), onde a operação Flipbit é realizada na variável "B_Value" com o valor do índice "2.”

A posição do índice do valor de Biginteger "9" é invertida com o índice "2", que gera o valor "13" na saída.

Conclusão

A classe Biginteger é muito conveniente de usar e é frequentemente usada em programação competitiva devido à sua vasta biblioteca de métodos. O biginteger é usado para o cálculo de números muito longos que vão além da capacidade de todos os tipos de dados primitivos atualmente acessíveis. Ele fornece vários métodos para operações aritméticas modulares. Criamos o biginteger primeiro e depois cobrimos alguns de seus métodos.