Java BigInteger

Java Biginteger



Java tilbyr en spesiell BigInteger-klasse for å administrere ekstremt store tall som er større enn 64-biters tall. Størrelsen på heltallsverdiene som denne klassen kan håndtere er ganske enkelt begrenset av det tildelte minnet til JVM. BigInteger-klassen, som arver et Number.implementerer Comparable-grensesnittet. Det gir ekvivalenter for hver primitiv heltallsoperator for Java, så vel som hver metode fra java.lang.math-modulen. BigInteger-objektets lagrede verdi kan ikke endres på grunn av BigInteger-klassens uforanderlighet.

Eksempel 1:

Følgende program gir en måte å lage BigInteger i java og bruker den aritmetiske operasjonen på den angitte BigInteger-verdien.








Vi har importert BigInteger-klassen fra java matte-pakken inne i programmet. Etter det erklærte vi BigInteger-objektene 'bigInt1' og 'bigInt2' i main()-metoden til java-klassen 'BigIntegerExample.' Deretter initialiserte vi BigInteger-objektene med de store numeriske verdiene i BigInteger-klassen. Vi har laget et annet objekt av BigInteger-klassen for å utføre den aritmetiske operasjonen på den angitte store heltallsverdien. Objektene er deklarert som 'Multiplisering' for å multiplisere BinInteger-verdien og 'Division' for å dele BigInteger-verdien.



Deretter tildelte vi 'bigInt1' sammen med multiply()-metoden til BigInteger til objektet 'multiply', som tar inndataene 'bigInt2.' Vi har også kalt divisjon()-metoden, som tar parameteren 'bigInt2' som vil bli delt med 'bigInt1,' og skriver ut resultatene etter utførelse.



Multiplikasjons- og divisjonsoperasjonsresultatene på BigInteger-verdiene vises i følgende utdatabilde. Dette er hvordan BigInteger konfigureres i java og brukes til ulike operasjoner.





Eksempel 2:

Faktoriell beregning er en god illustrasjon av et heltall som får veldig store innganger. BigInteger kan også brukes til å få faktoren for større heltallsverdier.




Vi har laget 'faktoriell'-funksjonen til BigInteger-klassen, der 'num'-objektet av typen int sendes som et argument for å returnere faktoren til verdien 'Num.' Inne i 'faktoriell'-funksjonen har vi erklært et BigInteger-objekt 'max_fict' hvor BigInteger-verdien '2' er spesifisert. Etter det implementerte vi for-løkken, som vil iterere og deretter multiplisere 'max_fict'-verdien med 4, 5 og opp til den n-te verdien når multiply()-metoden påkalles. Selve multiply() kalles en annen 'valueOf'-metode, der objektet 'i' til for-løkken er gitt. Returerklæringen vil gi den større faktoren. Deretter har vi etablert programmets main()-metode. Vi initialiserte objektet 'Num' med verdien og skrev ut faktoren til 'Num' fra faktorial()-metoden.

Faktorverdien til tallet '40' gir BigInteger-verdien som følger:

Eksempel 3:

BitCount()-funksjonen til BigInteger-klassen teller bitene. BitCount()-metoden gir antall biter som er i form av to komplementer i dette BigInteger og er forskjellige fra fortegnsbiten. Denne metoden returnerer de angitte bitene når BigInteger-verdien er positiv. På den annen side, hvis BigInteger er spesifisert med en negativ verdi, returnerer denne metoden antall tilbakestilte biter.


Vi har erklært to variabler, 'b1' og 'b2' av typeklassen 'BigInteger.' Vi har også definert to variabler til, 'heltall1' og 'heltall2', int primitiv type. Etter erklæringen initialiserte vi 'b1' med den positive BigInteger-verdien og 'b2' med den negative BigInteger-verdien. Deretter har vi tilordnet 'integer1' og 'integer2' med bitCount()-metoden til BigInteger-variablene 'b1' og 'b2.' De opptalte bitene vil bli hentet fra bitCount()-metoden for de angitte BigInteger-verdiene.

Det positive BigInteger gir '2'-bitene, og den negative verdien av BigInteger gir ut '1'-bitverdien.

Eksempel 4:

Den absolutte verdien av store numeriske data i BigInteger kan bestemmes ved å bruke abs()-metoden til BigInteger-klassen. Abs()-metoden returnerer BigIntegers absolutte verdi.


Vi har en BigInteger-klasse, som vi har deklarert fire variabler fra: 'big1', 'big2', 'big3' og 'big4'. Variablene «big1» og «big2» er spesifisert med henholdsvis positive og negative verdier. Etter det påkalte vi abs()-metoden med 'big1' og 'big2' i variablene 'big3' og 'big4'. Merk at abs()-metoden ikke tar noen inngangsverdi, men kalles med variablene 'big1' og 'big2'. Abs()-metoden får den absolutte verdien for disse BigInteger-variablene, og resultatene vil bli skrevet ut på kompileringstidspunktet.

Den absolutte verdien av positive 432 og negative 432 verdier er den samme fordi abs()-metoden alltid returnerer den positive absolutte verdien.

Eksempel 5:

Sammenligningen av BigInteger-verdiene kan oppnås ved å bruke BigInteger compareTo()-metoden. BigInteger sammenlignes med BigInteger som legges inn som en parameter i compareTo()-metoden. Returverdien til compareTo()-metoden er basert på BigInteger-verdiene. Når sammenligningen av BigInteger-verdien er lik, returneres null. Ellers returneres '1' og '-1' på betingelse av at BigInteger-verdien er større enn eller mindre enn BigInteger-verdien som sendes som et argument.


Vi har objekter 'MyBigInt1' og 'MyBigtInt2' erklæring av klassen 'BigInteger.' Disse objektene spesifiseres deretter med de samme BigInteger-verdiene. Etter det opprettet vi et annet objekt, 'comparevalue' der 'MyBigInt1'-objektet kalles med compareTo()-metoden, og 'MyBigInt2'-objektet sendes som et argument for å sammenligne med 'MyBigInt2'-objektet. Deretter har vi en if-else-setning der vi har sjekket om resultatene av compareTo()-metoden er lik verdien “0” eller ikke.

Fordi begge BigInteger-objektene har de samme verdiene, returnerer compareTo()-resultatene null, som vist i bildet nedenfor.

Eksempel 6:

BigInteger flipBit(index)-metoden kan også brukes til å vende på en bestemt bitplassering i et BigInteger. Denne metoden evaluerer (bigInt ^ (1<


Vi har definert to BigInteger-variabler, 'B_val1' og 'B_val2.' Variabelen 'B_val1' initialiseres med BigInteger-klassen, hvor verdien er spesifisert. Deretter har vi satt variabelen 'B_val2' med flipBit()-metoden, der flipBit-operasjonen utføres på variabelen 'B_value' med indeksverdien '2.'

Indeksposisjonen til BigInteger-verdien '9' snus med indeksen '2', som gir verdien '13' i utdataene.

Konklusjon

BigInteger-klassen er veldig praktisk å bruke og brukes ofte i konkurrerende programmering på grunn av det enorme metodebiblioteket. BigInteger brukes til å beregne svært lange tall som går utover kapasiteten til alle tilgjengelige primitive datatyper. Den gir ulike metoder for modulære aritmetiske operasjoner. Vi opprettet BigInteger først og dekket deretter noen av metodene.