Java Biginteger

Java Biginteger

Java offre una classe speciale Biginteger per la gestione di numeri estremamente grandi che sono superiori a 64 bit numeri. La dimensione dei valori interi che questa classe può gestire è semplicemente vincolata dalla memoria allocata di JVM. La classe Biginteger, che eredita un numero.implementa l'interfaccia comparabile. Fornisce equivalenti per ogni operatore intero primitivo Java e ogni metodo del Java.Lang.Modulo matematico. Il valore memorizzato dell'oggetto Biginteger non può essere modificato a causa dell'immutabilità della classe Biginteger.

Esempio 1:

Il seguente programma fornisce un modo per creare il biginteger in java e applica l'operazione aritmetica al valore di biginteger fornito.


Abbiamo importato la classe Biginteger dal pacchetto Java Math all'interno del programma. Successivamente, abbiamo dichiarato gli oggetti di Biginteger "Bigint1" e "Bigint2" nel metodo principale () della classe Java "BigIntegerexamplemample."Successivamente, abbiamo inizializzato gli oggetti Biginteger con i grandi valori numerici all'interno della classe Biginteger. Abbiamo creato un altro oggetto della classe Biginteger per eseguire l'operazione aritmetica sul valore intero di grandi dimensioni specificato. Gli oggetti sono dichiarati come "moltiplicazione" per moltiplicare il valore di bininteger e "divisione" per dividere il valore di biginteger.

Quindi, abbiamo assegnato il "bigint1" insieme al metodo multiply () di biginteger all'oggetto "multiplica", che prende l'input "bigint2."Inoltre, abbiamo chiamato il metodo Division (), che prende il parametro" bigint2 "che sarà diviso con" bigint1 "e stampa i risultati dopo l'esecuzione.

I risultati dell'operazione di moltiplicazione e divisione sui valori di Biginteger sono mostrati nella seguente immagine di output. Ecco come il biginteger è configurato in java e utilizzato per varie operazioni.

Esempio 2:

Il calcolo fattoriale è una buona illustrazione di un numero intero che ottiene input molto grandi. Il biginteger può anche essere utilizzato per ottenere il fattoriale per valori interi più grandi.


Abbiamo creato la funzione "fattoriale" della classe Biginteger, in cui l'oggetto "num" di tipo int viene superato come argomento per restituire il fattoriale del valore "num."All'interno della funzione" fattoriale ", abbiamo dichiarato un oggetto biginteger" max_fict "in cui è specificato il valore di biginteger" 2 ". Successivamente, abbiamo distribuito il per loop, che iterirà e quindi moltiplicherà il valore "max_fict" con 4, 5 e fino al valore dell'ennesimo quando il metodo multiply () viene invocato. Il multiply () stesso è chiamato un altro metodo "valore del valore", in cui viene fornito l'oggetto "i" del per loop. La dichiarazione di ritorno fornirà il fattoriale più ampio. Successivamente, abbiamo stabilito il metodo principale del programma (). Abbiamo inizializzato l'oggetto "num" con il valore e stampato il fattoriale del metodo "num" dal metodo fattoriale ().

Il valore fattoriale del numero "40" fornisce il valore di Biginteger come segue:

Esempio 3:

La funzione BitCount () della classe Biginteger conta i bit. Il metodo BitCount () fornisce il numero di bit che sono sotto forma di due complementi in questo biginteger e sono diversi dal bit del segno. Questo metodo restituisce i bit set quando il valore del biginteger è positivo. D'altra parte, se il biginteger è specificato con un valore negativo, questo metodo restituisce il numero di bit di ripristino.


Abbiamo dichiarato due variabili, "B1" e "B2" della classe di tipo "Biginteger."Abbiamo anche definito altre due variabili," integer1 "e" integer2 ", int primitive type. A seguito della dichiarazione, abbiamo inizializzato il "B1" con il valore positivo di Biginteger e il "B2" con il valore negativo di Biginteger. Successivamente, abbiamo assegnato il "intero1" e "integer2" con il metodo BitCount () alle variabili Biginteger "B1" e "B2."I bit conti saranno ottenuti dal metodo BitCount () per i valori BigInteger specificati.

Il Biginteger positivo fornisce i bit "2" e il valore negativo di Biginteger emette il valore bit "1".

Esempio 4:

Il valore assoluto dei dati numerici di grandi dimensioni in biginteger può essere determinato utilizzando il metodo ABS () della classe Biginteger. Il metodo ABS () restituisce il valore assoluto del biginteger.


Abbiamo una classe Biginteger, da cui abbiamo dichiarato quattro variabili: "Big1", "Big2", "Big3" e "Big4". Le variabili "Big1" e "Big2" sono specificate con valori positivi e negativi, rispettivamente. Dopodiché, abbiamo invocato il metodo ABS () con "Big1" e "Big2" nelle variabili "Big3" e "Big4". Si noti che il metodo ABS () non assume alcun valore di input ma viene chiamato con le variabili "BIG1" e "BIG2". Il metodo ABS () ottiene il valore assoluto per queste variabili Biginteger e i risultati verranno stampati al momento della compilation.

Il valore assoluto dei valori 432 e 432 negativi positivi è lo stesso perché il metodo ABS () restituisce sempre il valore assoluto positivo.

Esempio 5:

Il confronto dei valori di biginteger può essere ottenuto utilizzando il metodo Biginteger Comparation (). Il biginteger viene confrontato con il biginteger che viene inserito come parametro all'interno del metodo comparatore (). Il valore di ritorno del metodo comparatore () si basa sui valori di biginteger. Quando il confronto del valore di biginteger è uguale, lo zero viene restituito. Altrimenti, "1" e "-1" vengono restituiti a condizione che il valore di Biginteger sia maggiore o inferiore al valore di Biginteger approvato come argomento.


Abbiamo oggetti "MyBigint1" e "MyBigTint2" della classe "Biginteger."Questi oggetti vengono quindi specificati con gli stessi valori di biginteger. Successivamente, abbiamo creato un altro oggetto, "ConfrontaValue" in cui l'oggetto "mybigint1" viene chiamato con il metodo comparato () e l'oggetto "mybigint2" viene superato come argomento da confrontare con l'oggetto "mybigint2". Successivamente, abbiamo un'istruzione IF-ELSE in cui abbiamo verificato se i risultati del metodo comparazione () sono uguali al valore "0" o no.

Poiché entrambi gli oggetti biginteger hanno gli stessi valori, i risultati comparati () restituiscono zero, come mostrato nell'immagine seguente.

Esempio 6:

Il metodo biginteger flipbit (indice) può anche essere usato per capovolgere in una posizione specifica in un biginteger. Questo metodo valuta (bigint ^ (1<


Abbiamo definito due variabili Biginteger, "B_Val1" e "B_Val2."La variabile" b_val1 "è inizializzata con la classe Biginteger, in cui è specificato il valore. Quindi, abbiamo impostato la variabile "b_val2" con il metodo Flipbit (), in cui l'operazione Flipbit viene eseguita sulla variabile "B_Value" con il valore dell'indice "2."

La posizione dell'indice del valore Biginteger "9" viene lanciata con l'indice "2", che emette il valore "13" nell'output.

Conclusione

La classe Biginteger è molto conveniente da usare ed è spesso utilizzata nella programmazione competitiva a causa della sua vasta libreria di metodi. Il biginteger viene utilizzato per il calcolo di numeri molto lunghi che vanno oltre la capacità di tutti i tipi di dati primitivi attualmente accessibili. Fornisce vari metodi per le operazioni aritmetiche modulari. Abbiamo creato prima il biginteger e poi abbiamo coperto alcuni dei suoi metodi.