Sådan implementeres BigInteger i Java?



Denne artikel introducerer dig til endnu et interessant emne, der er BigInteger In Java sammen med dens praktiske implementering

Når primitive datatyper ikke kan hjælpe dig, har Java nogle specielle klasser, der kan redde dig. En sådan betingelse opstår, når du har at gøre med et stort antal, der ikke kan indeholdes i primitive datatyper som int og long. Man kan bruge String-datatypen til at løse dette problem. Men hvis vi ønsker at udføre aritmetiske operationer på det givne nummer, falder denne metode kort. I dette indlæg vil vi diskutere, hvordan vi kan løse dette problem ved hjælp af BigInteger i

Følgende punkter vil blive dækket i denne artikel,





Så lad os komme i gang med denne artikel,

BigInteger I Java

Klasser og objekter

Inden du går i gang med BigInteger-klassen, er det vigtigt at forstå det grundlæggende . Klasser og objekter udgør kernen i OOP'er. Disse er stærke begreber, der ofte bruges, når det drejer sig om sprog, der understøtter OOP'er. Så. Lad os gennemgå disse begreber og udvikle en kort forståelse af deres arbejde.



De vigtigste ideer bag OOP'er er kodemodularitet og genanvendelighed. Disse ideer implementeres ved hjælp af klasse og objekt. En klasse er et sted, hvor en bruger kan indstille adfærd og egenskaber for sine forekomster. Du kan også overveje en klasse som en prototype af de genstande, der tilhører den bil.

For eksempel

Lad os overveje en klasse ved navn 'Hund'. Nu, hvis vi tænker på en hund, kan vi sige, at alle hunde har nogle fælles egenskaber såsom farve, ben, hale, ører osv. Og adfærd som at gå, ryste halen, bjeffe osv. Kan vi skrive alle disse almindelige egenskaber som attributter og adfærd som metoder i vores klasse 'Hund'. Nu vil hver forekomst af denne klasse have de samme egenskaber og adfærd. Nu kan vi oprette så mange objekter, som vi vil, og bruge de funktioner, der er nævnt i klassen. Dette gør koden modulær og genanvendelig.



Klasser kaldes også brugerdefinerede datatyper og bruges, når den funktionalitet, vi forsøger at opnå, ikke er opfyldt ved hjælp af primitive datatyper. BigInteger-klassen er et eksempel på det. Lad os studere dette eksempel ind og ud.

Lad os se på det næste punkt i dette BigInteger In Java

BigInteger-klasse

På dette tidspunkt har vi nok viden om klasser og objekter til at komme i gang med BigInteger-klassen, der leveres af Java. BigInteger-klassen er en del af Java.math-pakken og leveres med forskellige konstruktører . Mens du opretter objekter af denne klasse til at gemme store tal, er der ingen øvre grænse for antallet, der kan lagres. Den eneste begrænsning er den tilgængelige hukommelse.

BigInteger-klassen bør kun bruges, hvis den ikke er tilgængelig. Da det griber mere hukommelse i forhold til de primitive datatyper, og du ikke kan udføre aritmetiske operationer ved hjælp af respektive aritmetiske operatorer, da Java ikke understøtter operatøroverbelastning.

Erklæring

BigInteger Big

Initialisering

BigInteger Big2 = nyt BigInteger ('124321098456719538751253254')

I det næste afsnit vil vi diskutere konstruktørerne og metoderne i denne klasse.

Nu ville vi forstå, hvad der er konstruktører,

sorteringsfunktion i c ++

BigInteger I Java: Konstruktører

Lad os se på de forskellige konstruktører, der leveres af klassen BigInteger. Mere antallet af tilgængelige konstruktører mere antallet af måder at oprette objekter i klasse BigInteger på. Det vigtige at huske på er, at konstruktørerne ikke har en returtype, og at de ikke returnerer noget.

Mr. nej

Konstruktører og parametre

Beskrivelse

en

BigInteger (byte [] val)

Denne konstruktør hjælper med at oversætte et byte-array, der indeholder to-komplement binær repræsentation af et BigInteger til et BigInteger.

2

BigInteger (int signum, byte [] størrelse)

Hjælper med at oversættetegnet-størrelsesrepræsentationen af ​​et BigInteger til et BigInteger.

3

BigInteger (int bitLængde, int sikkerhed, Tilfældig rnd)

Hjælper med at konstruere et tilfældigt genereret positivt BigInteger, der sandsynligvis er prime, med den specificerede bitLængde.

4

BigInteger ( Snor val)

Hjælper med at konvertere den decimale strengrepræsentation af et BigInteger til et BigInteger.

5

BigInteger ( Snor val, int radix)

Konverterer strengrepræsentationen af ​​et BigInteger i den angivne radix til et BigInteger.

Der er i alt 5 typer konstruktører og bruges i henhold til situationerne og de tilgængelige parametre hos os. For at forstå konceptet bruger vi den 4. konstruktør fra bordet.

hvordan man kaster en dobbelt til en int

Næste bit i denne BigInteger In Java-artikel er,

Metoder til BigInteger-klasse

Som vi diskuterede tidligere, har hver klasse forskellige attributter og metoder, der er fælles for alle tilfælde af denne klasse. Mens du udfører aritmetiske operationer ved hjælp af BigInteger-klassen, er brug af aritmetiske operatorer ikke til nogen nytte. Derfor er det nødvendigt at bruge BigInteger-klassemetoder til at udføre aritmetiske operationer.

Metode

Returtype og værdi

Beskrivelse

Afsnit ()

Denne funktion returnerer et BigInteger, hvis værdi er den absolutte værdi af dette BigInteger.

Denne funktion hjælper med at finde den absolutte værdi af det givne BigInteger

tilføj (BigInteger val)

Denne funktion returnerer et BigInteger, hvis værdi er (denne + val).

værdi, der skal føjes til dette BigInteger

Hjælper med at udføre tilføjelsesoperationen

sammenligne til (BigInteger val)

Returnerer -1, hvis BigInteger er numerisk mindre sammenlignet med val, 0 hvis lig, 1 hvis større.

val- BigInteger, som dette BigInteger skal sammenlignes med.

Sammenligner dette BigInteger med det specificerede BigInteger

del (BigInteger val)

Denne funktion returnerer et BigInteger, hvis værdi er (dette / val).

værdi, hvormed BigInteger skal opdeles.

Hjælper med at udføre division med det givne BigInteger og kaster en undtagelse, hvis divideret med 0

lige med( Objekt x)

Denne funktion returnerer sand hvis og kun hvis det angivne objekt er et BigInteger, hvis værdi er numerisk lig med dette BigInteger.

x - Objekt, som dette BigInteger skal sammenlignes med.

Returnerer en boolsk værdi. Sandt, hvis det angivne objekt er et BigInteger, hvis værdi er numerisk lig med dette BigInteger.

intValue ()

dette BigInteger konverteret til en int-type.

Konverterer dette BigInteger til et int.

multiplicere (BigInteger val)

Denne funktion returnerer et BigInteger, hvis værdi er (denne * val).

værdi- Værdi, der skal ganges med dette BigInteger

Hjælper med at udføre multiplikationsoperationen

hvad er salesforce service sky

trække (BigInteger val)

Denne funktion returnerer et BigInteger, hvis værdi er (denne - val).

værdi, der skal trækkes fra dette BigInteger

Hjælper med at udføre subtraktionsoperationen

Metoderne nævnt i ovenstående tabel er de metoder, der bruges det meste af tiden, når man beskæftiger sig med BigInteger-klassen. For at se på den komplette liste, der leveres af BigInteger-klassen, skal du gennemgå den officielle BigInteger-klasse dok leveret af Oracle.

Eksempel

Efter at have forstået OOP-koncepter, BigInteger-klassen, dens konstruktører og metoder, lad os nu overveje et eksempel og demonstrere brugen af ​​BigInteger-klassen.

Lad os finde den tid, det tager af lys at nå den nærmeste galakse til jorden, dvs. 2.4011019Km.

import java.math.BigInteger public class 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 ('Det tager lyset at nå Andromeda-galaksen' + Time + 'timer')}}

Produktion:

Processen afsluttet med udgangskode = 0

Bemærk- Ovenstående tilfælde er for eksempel formål. I virkeligheden kan svaret være anderledes.Prøv forskellige galakser eller stjerner, og rediger koden i overensstemmelse hermed.

Således er vi nået til en ende af denne artikel om 'BigInteger in Java'. Hvis du ønsker at lære mere, skal du tjekke af Edureka, et pålideligt online læringsfirma. Edurekas Java J2EE- og SOA-uddannelses- og certificeringskursus er designet til at træne dig til både kerne- og avancerede Java-koncepter sammen med forskellige Java-rammer som Hibernate & Spring.

Har du et spørgsmål til os? Nævn det i kommentarfeltet i denne artikel, og vi vender tilbage til dig hurtigst muligt.