Java Biginteger

Java Biginteger

Java ofrece una clase especial de BigInteger para administrar números extremadamente grandes que son más de 64 bits números. El tamaño de los valores enteros que esta clase puede manejar simplemente está limitado por la memoria asignada del JVM. La clase BigInteger, que hereda un número.implementa la interfaz comparable. Proporciona equivalentes para cada operador entero primitivo de Java, así como cada método de Java.lang.módulo de matemáticas. El valor almacenado del objeto Biginteger no se puede modificar debido a la inmutabilidad de la clase de Biginteger.

Ejemplo 1:

El siguiente programa proporciona una forma de crear el BigInteger en Java y aplica la operación aritmética al valor BigInteger proporcionado.


Hemos importado la clase Biginteger del paquete de matemáticas Java dentro del programa. Después de eso, declaramos los objetos BigInteger "BigInt1" y "BigInt2" en el método Main () de la clase Java "BigInteGerExample."A continuación, inicializamos los objetos BigInteger con los grandes valores numéricos dentro de la clase Biginteger. Hemos creado otro objeto de la clase BigInteger para realizar la operación aritmética en el valor entero de ancho especificado. Los objetos se declaran como "multiplicación" para multiplicar el valor de bininteger y la "división" para dividir el valor de biginteger.

Luego, asignamos el "BigInt1" junto con el método Multiply () de BigInteger al objeto "Multiplicar", que toma la entrada "BigInt2."Además, hemos llamado el método Division (), que toma el parámetro" BigInt2 "que se dividirá con" BigInt1 "e imprime los resultados después de la ejecución.

Los resultados de la operación de multiplicación y división en los valores de BigInteger se muestran en la siguiente imagen de salida. Así es como se configura el biginteger en Java y se usa para varias operaciones.

Ejemplo 2:

El cálculo factorial es una buena ilustración de un entero que obtiene entradas muy grandes. El biginteger también se puede utilizar para obtener el factorial para valores enteros más grandes.


Hemos creado la función "factorial" de la clase BigInteger, donde el objeto "num" de tipo int se pasa como un argumento para devolver el factor del valor "num."Dentro de la función" factorial ", hemos declarado un objeto BigInteger" max_fict "donde se especifica el valor de BigInteger" 2 ". Después de eso, implementamos el bucle for-loop, que iterará y luego multiplicará el valor "max_fict" con 4, 5 y hasta el valor enésimo a medida que se invoca el método multiplicy (). El Multiply () en sí se llama otro método de "valor de", donde se proporciona el objeto "i" del bucle for-loop. La declaración de devolución proporcionará el factorial más grande. A continuación, hemos establecido el método principal () del programa. Inicializamos el objeto "NUM" con el valor e imprimimos el factorial del "NUM" del método Factorial ().

El valor factorial del número "40" proporciona el valor de BigInteger de la siguiente manera:

Ejemplo 3:

La función bitCount () de la clase BigInteger cuenta los bits. El método bitCount () proporciona el número de bits que tienen la forma de dos complementos en este biginteger y son diferentes del bit de signo. Este método devuelve los bits establecidos cuando el valor del biginteger es positivo. Por otro lado, si el biginteger se especifica con un valor negativo, este método devuelve el número de bits de reinicio.


Hemos declarado dos variables, "B1" y "B2" de la clase de tipo "Biginteger."También hemos definido dos variables más," Integer1 "y" Integer2 ", int primitivo. Después de la declaración, inicializamos el "B1" con el valor positivo de BigInteger y el "B2" con el valor negativo de BigInteger. A continuación, hemos asignado el "Integer1" y "Integer2" con el método bitCount () a las variables BigInteger "B1" y "B2."Los bits contados se obtendrán del método bitCount () para los valores de biginteger especificados.

El biginteger positivo proporciona los bits "2", y el valor negativo de BigInteger genera el valor de bit "1".

Ejemplo 4:

El valor absoluto de los datos numéricos de gran tamaño en BigInteger se puede determinar utilizando el método ABS () de la clase Biginteger. El método ABS () devuelve el valor absoluto del biginteger.


Tenemos una clase BigInteger, de la cual hemos declarado cuatro variables: "Big1", "Big2", "Big3" y "Big4". Las variables "Big1" y "Big2" se especifican con valores positivos y negativos, respectivamente. Después de eso, invocamos el método ABS () con "Big1" y "Big2" en las variables "Big3" y "Big4". Tenga en cuenta que el método ABS () no toma ningún valor de entrada, sino que se llama con las variables "Big1" y "Big2". El método ABS () obtiene el valor absoluto para estas variables biginteger, y los resultados se imprimirán en el momento de la compilación.

El valor absoluto de los valores positivos 432 y negativos 432 es el mismo porque el método ABS () siempre devuelve el valor absoluto positivo.

Ejemplo 5:

La comparación de los valores de BigInteger se puede lograr utilizando el método Biginteger Compareto (). El biginteger se compara con el biginteger que se ingresa como un parámetro dentro del método compareto (). El valor de retorno del método CompareTo () se basa en los valores de BigInteger. Cuando la comparación del valor de BigInteger es igual, entonces se devuelve cero. De lo contrario, "1" y "-1" se devuelven con la condición de que el valor de BigInteger sea mayor o menor que el valor de Biginteger pasado como argumento.


Tenemos objetos "MyBigint1" y "myBigTint2" Declaración de la clase "Biginteger."Estos objetos se especifican con los mismos valores de BigInteger. Después de eso, creamos otro objeto, "Comparevalue" donde el objeto "myBigint1" se llama con el método compareTo (), y el objeto "myBigint2" se pasa como un argumento para comparar con el objeto "myBigint2". A continuación, tenemos una declaración if-else donde hemos verificado si los resultados del método comparto () son iguales al valor "0" o no.

Debido a que ambos objetos BigInteger tienen los mismos valores, los resultados de comparación () returan cero, como se muestra en la imagen a continuación.

Ejemplo 6:

El método BigInteger Flipbit (índice) también se puede usar para voltear en una ubicación de bits específica dentro de un biginteger. Este método se evalúa (Bigint ^ (1<


Hemos definido dos variables BigInteger, "B_val1" y "B_val2."La variable" b_val1 "se inicializa con la clase biginteger, donde se especifica el valor. Luego, hemos establecido la variable "b_val2" con el método flipbit (), donde la operación de flipbit se realiza en la variable "b_value" con el valor de índice "2."

La posición de índice del valor de BigInteger "9" se voltea con el índice "2", que genera el valor "13" en la salida.

Conclusión

La clase BigInteger es muy conveniente de usar y se usa con frecuencia en programación competitiva debido a su vasta biblioteca de métodos. El biginteger se utiliza para el cálculo de números muy largos que van más allá de la capacidad de todos los tipos de datos primitivos actualmente accesibles. Proporciona varios métodos para operaciones aritméticas modulares. Primero creamos el biginteger y luego cubrimos algunos de sus métodos.