Kako implementirati BigInteger u Javu?



Ovaj će vas članak upoznati s još jednom zanimljivom temom koja je BigInteger u Javi, zajedno s njegovom praktičnom primjenom

Kad vam primitivne vrste podataka ne mogu pomoći, Java ima neke posebne klase kako bi vas spasile. Jedan od takvih uvjeta pojavljuje se kada imate posla s velikim brojevima koji se ne mogu sadržavati u primitivnim vrstama podataka poput int i long. Za prevladavanje ovog problema netko bi mogao koristiti vrstu podataka String. Ali, ako želimo izvršiti aritmetičke operacije nad danim brojem, ova metoda nedostaje. U ovom postu raspravljat ćemo o tome kako možemo prevladati ovaj problem uz pomoć BigInteger-a u

U ovom će članku biti obrađeni sljedeći smjerovi,





Pa krenimo s ovim člankom,

BigInteger u Javi

Razredi i predmeti

Prije nego što započnete s BigInteger klasom, neophodno je razumjeti osnove . Razredi i predmeti čine srž OOP-a. To su moćni koncepti koji se često koriste u radu s jezicima koji podržavaju OOP-ove. Tako. Prođimo kroz ove koncepte i razvijmo kratko razumijevanje njihovog rada.



Glavne ideje koje stoje iza OOP-a su modularnost koda i ponovna upotrebljivost koda. Te se ideje provode uz pomoć klase i objekta. Klasa je mjesto na kojem korisnik može postaviti ponašanje i svojstva svojih primjeraka. Klasu također možete smatrati prototipom predmeta koji pripadaju tom automobilu.

Na primjer

Razmotrimo razred pod nazivom 'Pas'. Sada, ako razmišljamo o psu, možemo reći da svi psi imaju neka zajednička svojstva poput boje, nogu, repa, ušiju itd. I ponašanja poput hodanja, drhtanja repom, lajanja itd. Možemo napisati sve te uobičajene svojstva kao atributi i ponašanja kao metode u našoj klasi 'Pas'. Sada će svaka instanca ove klase imati ista svojstva i ponašanja. Sada možemo stvoriti onoliko objekata koliko želimo i koristiti funkcionalnosti spomenute u klasi. To čini kod modularnim i ponovnim za upotrebu.



Klase se nazivaju i korisnički definiranim tipovima podataka i koriste se kada funkcionalnost koju pokušavamo postići nije ispunjena korištenjem primitivnih tipova podataka. Primjer toga je klasa BigInteger. Proučimo ovaj primjer unutra i van.

Pogledajmo sljedeću točku ovog BigInteger-a u Javi

Klasa BigInteger

U ovom trenutku imamo dovoljno znanja o klasama i objektima da započnemo s BigInteger klasom koju pruža Java. Klasa BigInteger dio je Java.math paketa i dolazi s raznim konstruktori . Tijekom stvaranja objekata ove klase za pohranu velikih brojeva ne postoji gornja granica broja koji se može pohraniti. Jedino ograničenje je dostupna memorija.

Klasa BigInteger smije se koristiti samo ako je neizbježna. Kako zauzima više memorije u usporedbi s primitivnim vrstama podataka i ne možete obavljati aritmetičke operacije pomoću odgovarajućeg aritmetičkog operatora, jer Java ne podržava preopterećenje operatora.

fibonaccijeva serija c ++

Izjava

BigInteger Veliki

Inicijalizacija

BigInteger Big2 = novi BigInteger ('124321098456719538751253254')

U sljedećem odjeljku razgovarat ćemo o konstruktorima i metodama ove klase.

Sada bismo razumjeli što su konstruktori,

BigInteger u Javi: Konstruktori

Pogledajmo razne konstruktore koje nudi klasa BigInteger. Što je veći broj dostupnih konstruktora, to je više načina za stvaranje objekata klase BigInteger. Važno je imati na umu da konstruktori nemaju tip return i ne vraćaju ništa.

Gospodine br

Konstruktori i parametri

Opis

jedan

BigInteger (bajt [] val)

Ovaj konstruktor pomaže u prevođenju bajt-polja koji sadrži dvostruki binarni prikaz BigInteger-a u BigInteger.

2

BigInteger (int signum, bajt [] veličina)

Pomaže u prevođenjupredstavljanje veličine znaka BigInteger u BigInteger.

3

BigInteger (int bitLength, int sigurnost, Slučajno rnd)

Pomaže u konstrukciji slučajno generiranog pozitivnog BigInteger-a koji je vjerojatno prost, s navedenom bitLength.

4

BigInteger ( Niz val)

Pomaže u pretvaranju decimalnog predstavljanja niza BigInteger u BigInteger.

5

BigInteger ( Niz val, int radix)

Pretvara String prikaz BigInteger-a u navedenom radixu u BigInteger.

Postoji ukupno 5 vrsta konstruktora i koriste se u skladu sa situacijama i parametrima koji su dostupni kod nas. Za razumijevanje koncepta poslužit ćemo se 4. konstruktorom iz tablice.

Sljedeći bit u ovom članku BigInteger In Java je,

Metode klase BigInteger

Kao što smo ranije razgovarali, svaka klasa ima različite atribute i metode koji su zajednički svim instancama te klase. Dok radite aritmetičke operacije uz pomoć klase BigInteger, upotreba aritmetičkih operatora nije od koristi. Stoga za provođenje aritmetičkih operacija trebamo koristiti metode klase BigInteger.

Metoda

Vrsta i vrijednost povrata

Opis

Odjeljak ()

Ova funkcija vraća BigInteger čija je vrijednost apsolutna vrijednost ovog BigInteger-a.

Ova funkcija pomaže u pronalaženju apsolutne vrijednosti datog BigInteger-a

dodaj (BigInteger val)

Ova funkcija vraća BigInteger čija je vrijednost (this + val).

val- vrijednost koja se dodaje ovom BigIntegeru

Pomaže u izvođenju operacije zbrajanja

compareTo (BigInteger val)

Vraća -1 ako je BigInteger brojčano manji u odnosu na val, 0 ako je jednak, 1 ako je veći.

val- BigInteger s kojim se ovaj BigInteger treba usporediti.

pretvoriti binarni u cjelobrojni java

Uspoređuje ovaj BigInteger s navedenim BigInteger

podijeli (BigInteger val)

Ova funkcija vraća BigInteger čija je vrijednost (this / val).

val- vrijednost kojom se dijeli BigInteger.

Pomaže u izvođenju dijeljenja s danim BigInteger-om i donosi iznimku ako je podijeljeno s 0

jednako ( Objekt x)

Ova funkcija vraća true ako i samo ako je navedeni Objekt BigInteger čija je vrijednost numerički jednaka ovom BigIntegeru.

x - Objekt s kojim se želi usporediti ovaj BigInteger.

Vraća logičku vrijednost. Tačno ako je navedeni Objekt BigInteger čija je vrijednost numerički jednaka ovom BigIntegeru.

intValue ()

ovaj je BigInteger pretvoren u tip int.

Pretvara ovaj BigInteger u int.

množenje (BigInteger val)

Ova funkcija vraća BigInteger čija je vrijednost (this * val).

val- Vrijednost koju treba pomnožiti s ovim BigInteger-om

Pomaže u izvođenju operacije množenja

oduzmi (BigInteger val)

Ova funkcija vraća BigInteger čija je vrijednost (this - val).

val- vrijednost koja se oduzima od ovog BigInteger-a

Pomaže u izvođenju operacije oduzimanja

Metode spomenute u gornjoj tablici su metode koje se koriste većinu vremena dok se radi s klasom BigInteger. Da biste pogledali cjelovit popis klase BigInteger, prođite kroz službenu klasu BigInteger dokumenti koje pruža Oracle.

Primjer

Nakon razumijevanja koncepata OOP-a, klase BigInteger, njezinih konstruktora i metoda, razmotrimo sada primjer i pokažemo upotrebu klase BigInteger.

Pronađimo vrijeme potrebno svjetlu za dosezanje najbliže galaksije na zemlji tj. 2.4011019Km.

import java.math.BigInteger javna klasa BiggInteger {public static void main (String [] args) {BigInteger Distance = new BigInteger ('2401000000000000000000') BigInteger SpeedofLight = new BigInteger ('1080000000') BigInteger Time = Distance.divide (SpeedofLight) System.out.println ('Vrijeme potrebno svjetlu za dostizanje galaksije Andromeda je' + Vrijeme + 'sati')}}

Izlaz:

Proces je završen s izlaznim kodom = 0

Napomena - Gornji je slučaj primjerice svrha. U stvarnosti se odgovor može razlikovati.Isprobajte različite galaksije ili zvijezde i u skladu s tim uredite kôd.

Tako smo došli do kraja ovog članka o 'BigInteger u Javi'. Ako želite saznati više, pogledajte Edureka, pouzdane tvrtke za internetsko učenje. Edurekin tečaj za obuku i certificiranje Java J2EE i SOA osmišljen je kako bi vas osposobio za osnovne i napredne Java koncepte zajedno s raznim Java okvirima poput Hibernate & Spring.

Imate pitanje za nas? Molimo navedite ga u odjeljku za komentare ovog članka i javit ćemo vam se što je prije moguće.