Com implementar BigInteger a Java?



Aquest article us presentarà un altre tema interessant que és BigInteger In Java juntament amb la seva implementació pràctica

Quan els tipus de dades primitius no us poden ajudar, Java té algunes classes especials per rescatar-vos. Una d'aquestes condicions sorgeix quan es tracta de grans quantitats que no es poden incloure en tipus de dades primitives, com ara int i long. Es pot utilitzar el tipus de dades String per superar aquest problema. Però, si volem realitzar operacions aritmètiques sobre el nombre donat, aquest mètode queda curt. En aquest post, discutirem com podem superar aquest problema amb l'ajuda de BigInteger a

Les següents indicacions es tractaran en aquest article,





Comencem, doncs, amb aquest article,

BigInteger a Java

Classes i objectes

Abans de començar amb la classe BigInteger és fonamental entendre els fonaments de . Les classes i els objectes formen el nucli de les POO. Aquests són conceptes potents que s’utilitzen amb freqüència quan es tracta d’idiomes que admeten les POO. Tan. Repassem aquests conceptes i desenvolupem una breu comprensió del seu funcionament.



Les idees principals darrere de les POO són ​​la modularitat del codi i la reutilització del codi. Aquestes idees s’implementen amb l’ajut de la classe i l’objecte. Una classe és un lloc on un usuari pot definir el comportament i les propietats de les seves instàncies. També podeu considerar una classe com un prototip dels objectes que pertanyen a aquest cotxe.

Per exemple

Considerem una classe anomenada 'Gos'. Ara, si pensem en un gos, podem dir que tots els gossos tenen algunes propietats comuns com el color, les potes, la cua, les orelles, etc. i comportaments com caminar, sacsejar la cua, lladrar, etc. propietats com a atributs i comportaments com a mètodes de la nostra classe 'Gos'. Ara, cada instància d’aquesta classe tindrà les mateixes propietats i comportaments. Ara podem crear tants objectes com vulguem i utilitzar les funcionalitats esmentades a la classe. Això fa que el codi sigui modular i reutilitzable.



Les classes també s’anomenen tipus de dades definides per l’usuari i s’utilitzen quan la funcionalitat que intentem aconseguir no es compleix mitjançant l’ús de tipus de dades primitius. La classe BigInteger n’és un exemple. Vegem aquest exemple dins i fora.

Vegem el següent punt d’aquest BigInteger In Java

Classe BigInteger

En aquest moment, tenim prou coneixement de classes i objectes per començar a utilitzar la classe BigInteger proporcionada per Java. La classe BigInteger forma part del paquet Java.math i inclou diversos constructors . Mentre es creen objectes d'aquesta classe per emmagatzemar grans nombres, no hi ha cap límit superior per al nombre que es pot emmagatzemar. L'única limitació és la memòria disponible.

La classe BigInteger només s'ha d'utilitzar si no és elegible. A mesura que agafa més memòria en comparació amb els tipus de dades primitius i no es poden fer operacions aritmètiques mitjançant l'operador aritmètic respectiu, ja que Java no admet la sobrecàrrega de l'operador.

Declaració

BigInteger Big

Inicialització

BigInteger Big2 = BigInteger nou ('124321098456719538751253254')

A la següent secció, parlarem dels constructors i mètodes d’aquesta classe.

Ara entendríem què són els constructors,

BigInteger a Java: constructors

Vegem els diversos constructors proporcionats per la classe BigInteger. Més nombre de constructors disponibles més nombre de maneres de crear objectes de la classe BigInteger. L’important que cal tenir en compte és que els constructors no tenen un tipus de retorn i no retornen res.

Sr.No

Constructors i paràmetres

Descripció

1

BigInteger (byte [] val)

Aquest constructor ajuda a traduir una matriu de bytes que conté la representació binària del complement de dos d’un BigInteger a un BigInteger.

2

def __init __ (auto)

BigInteger (int signum, byte [] magnitud)

Ajuda a traduirla representació de la magnitud del signe d'un BigInteger en un BigInteger.

3

BigInteger (int BitLength, int certainty, Aleatori rnd)

Ajuda a construir un BigInteger positiu generat aleatòriament que probablement sigui primer, amb la longitud de bits especificada.

4

BigInteger ( Corda val)

Ajuda a convertir la representació de cadena decimal d’un BigInteger en un BigInteger.

5

BigInteger ( Corda val, int radix)

Converteix la representació de cadena d’un BigInteger al radi especificat en un BigInteger.

Hi ha un total de 5 tipus de constructors i s’utilitzen segons les situacions i els paràmetres disponibles amb nosaltres. Per entendre el concepte utilitzarem el quart constructor de la taula.

El següent bit d’aquest article de BigInteger In Java és:

Mètodes de la classe BigInteger

Com hem comentat anteriorment, cada classe té diferents atributs i mètodes que són comuns a totes les instàncies d’aquesta classe. Tot i fer operacions aritmètiques amb l'ajut de la classe BigInteger, l'ús d'operadors aritmètics no serveix de res. Per tant, per dur a terme operacions aritmètiques hem d’utilitzar mètodes de classe BigInteger.

Mètode

El tipus i el valor de retorn

Descripció

Secció ()

Aquesta funció retorna un BigInteger el valor del qual és el valor absolut d’aquest BigInteger.

Aquesta funció ajuda a trobar el valor absolut del BigInteger donat

afegir (BigInteger val)

com instal·lar hadoop a Ubuntu

Aquesta funció retorna un BigInteger el valor del qual és (this + val).

valor que s'ha d'afegir a aquest BigInteger

Ajuda a realitzar l'operació d'addició

compareTo (BigInteger val)

Retorna -1 si BigInteger és numèricament inferior en comparació amb val, 0 si és igual, 1 si és més gran.

val- BigInteger amb el qual s'ha de comparar aquest BigInteger.

Compara aquest BigInteger amb el BigInteger especificat

divideix (BigInteger val)

Aquesta funció retorna un BigInteger el valor del qual és (this / val).

val- valor pel qual s'ha de dividir BigInteger.

Ajuda a realitzar la divisió amb BigInteger donat i genera una excepció si es divideix per 0

és igual( Objecte x)

Aquesta funció torna cert si i només si l'objecte especificat és un BigInteger el valor del qual és numèricament igual a aquest BigInteger.

x - Objecte amb el qual s'ha de comparar aquest BigInteger.

Retorna un valor booleà. És cert si l'objecte especificat és un BigInteger el valor del qual és igual numèricament a aquest BigInteger.

intValue ()

aquest BigInteger es va convertir en un tipus int.

Converteix aquest BigInteger en un int.

multiplicar (BigInteger val)

Aquesta funció retorna un BigInteger el valor del qual és (aquest * val).

val- Valor que es multiplicarà per aquest BigInteger

Ajuda a realitzar l'operació de multiplicació

restar (BigInteger val)

Aquesta funció retorna un BigInteger el valor del qual és (this - val).

valor que s'ha de restar d'aquest BigInteger

Ajuda a realitzar l'operació de resta

Els mètodes esmentats a la taula anterior són els mètodes que s’utilitzen la major part del temps mentre es tracta de la classe BigInteger. Per veure la llista completa que proporciona la classe BigInteger, consulteu la classe oficial BigInteger documents proporcionat per Oracle.

Exemple

Després d’entendre els conceptes de POO, la classe BigInteger, els seus constructors i mètodes, considerem ara un exemple i demostrem l’ús de la classe BigInteger.

Anem a trobar el temps que ha trigat la llum a arribar a la galàxia més propera a la terra, és a dir, a 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 ('El temps que pren la llum per arribar a la galàxia d'Andromeda és' + Temps + 'hores')}}

Sortida:

El procés s'ha acabat amb el codi de sortida = 0

Nota: el cas anterior és per exemple un propòsit. En realitat, la resposta pot variar.Proveu diferents galàxies o estrelles i editeu el codi en conseqüència.

Així hem arribat al final d’aquest article sobre ‘BigInteger in Java’. Si voleu obtenir més informació, consulteu el per Edureka, una empresa d’aprenentatge en línia de confiança. El curs de formació i certificació Java J2EE i SOA d’Edureka està dissenyat per formar-vos tant per a conceptes bàsics com avançats de Java juntament amb diversos marcs Java com Hibernate & Spring.

Tens alguna pregunta? Si us plau, mencioneu-lo a la secció de comentaris d’aquest article i us respondrem el més aviat possible.