Comment implémenter BigInteger en Java?

Cet article vous présentera encore un autre sujet intéressant qui est BigInteger In Java avec sa mise en œuvre pratique

Lorsque les types de données primitifs ne peuvent pas vous aider, Java a des classes spéciales pour vous sauver. Une de ces conditions se produit lorsque vous traitez de grands nombres qui ne peuvent pas être contenus dans des types de données primitifs tels que int et long. On peut utiliser le type de données String pour surmonter ce problème. Mais, si nous voulons effectuer des opérations arithmétiques sur le nombre donné, cette méthode est insuffisante. Dans cet article, nous discuterons de la façon dont nous pouvons surmonter ce problème avec l'aide de BigInteger dans



Les pointeurs suivants seront traités dans cet article,



Alors commençons avec cet article,

BigInteger en Java

Classes et objets

Avant de commencer avec la classe BigInteger, il est essentiel de comprendre les principes fondamentaux de . Les classes et les objets constituent le cœur des POO. Ce sont des concepts puissants fréquemment utilisés pour traiter les langages prenant en charge les POO. Donc. Passons en revue ces concepts et développons une brève compréhension de leur fonctionnement.



Les principales idées derrière les POO sont la modularité du code et la réutilisabilité du code. Ces idées sont mises en œuvre à l'aide de la classe et de l'objet. Une classe est un endroit où un utilisateur peut définir le comportement et les propriétés de ses instances. Vous pouvez également considérer une classe comme un prototype des objets appartenant à cette voiture.

Par exemple

Prenons une classe nommée 'Chien'. Maintenant, si nous pensons à un chien, nous pouvons dire que tous les chiens ont des propriétés communes telles que la couleur, les pattes, la queue, les oreilles, etc. et des comportements tels que marcher, secouer la queue, aboyer, etc. nous pouvons écrire tous ces communs. propriétés comme attributs et comportements comme méthodes dans notre classe 'Dog'. Désormais, chaque instance de cette classe aura les mêmes propriétés et comportements. Désormais, nous pouvons créer autant d'objets que nous le souhaitons et utiliser les fonctionnalités mentionnées dans la classe. Cela rend le code modulaire et réutilisable.



Les classes sont également appelées types de données définis par l'utilisateur et sont utilisées lorsque la fonctionnalité que nous essayons d'atteindre n'est pas remplie à l'aide de types de données primitifs. La classe BigInteger en est un exemple. Étudions cet exemple en détail.

Jetons un coup d'œil au point suivant de ce BigInteger en Java

Classe BigInteger

À ce stade, nous avons suffisamment de connaissances sur les classes et les objets pour démarrer avec la classe BigInteger fournie par Java. La classe BigInteger fait partie du package Java.math et est fournie avec divers constructeurs . Lors de la création d'objets de cette classe pour stocker de grands nombres, il n'y a pas de limite supérieure pour le nombre qui peut être stocké. La seule limitation est la mémoire disponible.

La classe BigInteger ne doit être utilisée que si elle est inéluctable. Comme il prend plus de mémoire par rapport aux types de données primitifs et que vous ne pouvez pas effectuer d'opérations arithmétiques en utilisant l'opérateur arithmétique respectif, car Java ne prend pas en charge la surcharge d'opérateurs.

Déclaration

BigInteger Big

Initialisation

BigInteger Big2 = nouveau BigInteger ('124321098456719538751253254')

Dans la section suivante, nous discuterons des constructeurs et des méthodes de cette classe.

Maintenant nous comprendrions ce que sont les constructeurs,

BigInteger en Java: Constructeurs

Jetons un coup d'œil aux différents constructeurs fournis par la classe BigInteger. Plus le nombre de constructeurs disponibles est élevé, plus le nombre de façons de créer des objets de la classe BigInteger. La chose importante à garder à l’esprit est que les constructeurs n’ont pas de type de retour et qu’ils ne renvoient rien.

Monsieur non

Constructeurs et paramètres

La description

un

BigInteger (octet [] val)

Ce constructeur aide à traduire un tableau d’octets contenant la représentation binaire complémentaire à deux d’un BigInteger en BigInteger.

2

BigInteger (signe int, octet [] magnitude)

Aide à la traductionla représentation signe-magnitude d'un BigInteger dans un BigInteger.

3

BigInteger (int bitLength, int certitude, Aléatoire rnd)

Aide à construire un BigInteger positif généré aléatoirement qui est probablement premier, avec le bitLength spécifié.

4

BigInteger ( Chaîne val)

Aide à convertir la représentation chaîne décimale d'un BigInteger en BigInteger.

5

BigInteger ( Chaîne val, int radix)

Convertit la représentation String d'un BigInteger dans la base spécifiée en BigInteger.

Il existe un total de 5 types de constructeurs et sont utilisés selon les situations et les paramètres disponibles chez nous. Pour comprendre le concept, nous utiliserons le 4ème constructeur du tableau.

Le bit suivant dans cet article BigInteger In Java est,

Méthodes de la classe BigInteger

Comme nous l'avons vu précédemment, chaque classe a des attributs et des méthodes différents qui sont communs à toutes les instances de cette classe. Lors d'opérations arithmétiques à l'aide de la classe BigInteger, l'utilisation d'opérateurs arithmétiques est inutile. Par conséquent, pour effectuer des opérations arithmétiques, nous devons utiliser des méthodes de classe BigInteger.

Méthode

Le type et la valeur de retour

La description

Section( )

Cette fonction renvoie un BigInteger dont la valeur est la valeur absolue de ce BigInteger.

Cette fonction aide à trouver la valeur absolue du BigInteger donné

ajouter (valeur BigInteger)

Cette fonction renvoie un BigInteger dont la valeur est (this + val).

val- valeur à ajouter à ce BigInteger

Aide à effectuer l'opération d'addition

compareTo (valeur BigInteger)

Renvoie -1 si BigInteger est numériquement inférieur à val, 0 s'il est égal, 1 s'il est supérieur.

val- BigInteger auquel ce BigInteger doit être comparé.

Compare ce BigInteger avec le BigInteger spécifié

diviser (valeur BigInteger)

Cette fonction renvoie un BigInteger dont la valeur est (this / val).

val- valeur par laquelle BigInteger doit être divisé.

Aide à effectuer une division avec BigInteger donné et lève une exception si elle est divisée par 0

équivaut à( Objet X)

Cette fonction renvoie vrai si et seulement si l'objet spécifié est un BigInteger dont la valeur est numériquement égale à ce BigInteger.

x - Objet auquel ce BigInteger doit être comparé.

Renvoie une valeur booléenne. True si l'objet spécifié est un BigInteger dont la valeur est numériquement égale à ce BigInteger.

intValue ()

ce BigInteger converti en un type int.

Convertit ce BigInteger en un entier.

multiplier (valeur BigInteger)

Cette fonction renvoie un BigInteger dont la valeur est (this * val).

val- Valeur à multiplier par ce BigInteger

Aide à effectuer l'opération de multiplication

soustraire (BigInteger val)

comment configurer eclipse pour java

Cette fonction renvoie un BigInteger dont la valeur est (this - val).

val- valeur qui doit être soustraite de ce BigInteger

Aide à effectuer l'opération de soustraction

Les méthodes mentionnées dans le tableau ci-dessus sont les méthodes qui sont utilisées la plupart du temps lors de l'utilisation de la classe BigInteger. Pour consulter la liste complète fournie par la classe BigInteger, passez par la classe officielle BigInteger docs fourni par Oracle.

Exemple

Après avoir compris les concepts de POO, la classe BigInteger, ses constructeurs et ses méthodes, examinons maintenant un exemple et démontrons l'utilisation de la classe BigInteger.

Trouvons le temps mis par la lumière pour atteindre la galaxie la plus proche de la Terre, soit 2.401dix19Km.

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 ('Le temps mis par la lumière pour atteindre la galaxie d'Andromède est de' + Temps + 'heures')}}

Production:

Processus terminé avec le code de sortie = 0

Remarque - Le cas ci-dessus est à titre d'exemple. En réalité, la réponse peut différer.Essayez différentes galaxies ou étoiles et modifiez le code en conséquence.

Ainsi nous sommes arrivés à la fin de cet article sur «BigInteger in Java». Si vous souhaitez en savoir plus, consultez le par Edureka, une entreprise d'apprentissage en ligne de confiance. Le cours de formation et de certification Java J2EE et SOA d'Edureka est conçu pour vous former aux concepts Java de base et avancés ainsi qu'à divers frameworks Java tels que Hibernate et Spring.

Vous avez une question pour nous? Veuillez le mentionner dans la section commentaires de cet article et nous vous répondrons dans les plus brefs délais.