388 Shares 7123 views

BigInteger Java: Lavorare con grandi numeri

Java è principalmente utilizzato per la scrittura di grandi applicazioni web enterprise. Tuttavia, è applicabile anche ad altre aree disciplinari, dove spesso v'è la necessità di lavorare con molto grandi numeri. Anche se Java ha tipi primitivi, ci sono situazioni in cui non sono abbastanza.

È noto che tutte le primitive hanno una caratteristica sgradevole – il tipo di troppo pieno, in cui l'uscita della gamma porta a calcoli errati. A questo scopo v'è una speciale BigInteger di classe. Java non sarebbe Java, se non fosse una classe separata con funzionalità per questo caso. Consideriamo in modo più dettagliato.

Classe BigInteger Java: Descrizione

Come sapete, classe BigInteger avvolge per i grandi valori interi. Per incapsulare un numero in questo tipo di oggetto, è possibile utilizzare uno dei sovraccarichi di suo costruttore o un metodo valueOf statico. Costruttore come argomento può assumere una matrice di stringhe o byte. Per convertire i tipi semplici che rappresentano interi BigInteger Java usano il metodo valueOf statico.

Poiché Java è alcuna possibilità di sovraccarico per gli operatori di eseguire operazioni matematiche su incapsulato in questo valori di classe, a condizione che il metodo appropriato. Su di loro inoltre saranno discussi.

Java BigInteger: metodi ed esempi del loro uso

Questa classe ha a disposizione una serie di metodi che consentono di manipolare i valori numerici, ed eseguire su di loro la varietà di operazioni matematiche. Di seguito è riportato un elenco di questi metodi.

Cerchiamo di metodi che eseguono operazioni aritmetiche:

– aggiungere (valore) – esegue aggiunta dei valori attuali dell'oggetto, con il trasferito come argomento;

– sottrarre (sottrattore) – esegue la Subtractor sottrae il valore corrente;

– si moltiplicano (value) – moltiplica;

– divisione (divisore) – esegue la divisione del valore corrente nel divisore;

– pow (int arg) – aumenta il valore dell'oggetto causato dal valore della potenza in arg;

– abs () – restituisce il valore assoluto dell'oggetto chiamante;

– negate () – restituisce oggetto BigInteger il cui valore è di segno opposto.

Diamo un'occhiata a un semplice esempio di un'operazione aritmetica su due valori incapsulati nell'oggetto:

– BigInteger val1, val2, aggiungendo, dividendo, oppositeSign;

– val1 = new BigInteger ( "5");

– val2 = BigInteger.valueOf (10);

– l'aggiunta = val1.add (val2);

– divisione = val2.divide (val1);

– oppositeSign = val1.negate ();

Prestare attenzione al modo di creare oggetti. val1 variabile inizializzata utilizzando il costruttore, accettando una stringa e memorizza il valore 5. val2 ha il valore 10 come un risultato di un metodo valueOf statico. valore variabile aggiungendo il risultato della somma dei primi due variabili ed è pari a 15. Il divisore variabile memorizza rispettivamente il risultato della sottrazione. val1 oppositeSign è il valore con il segno opposto, vale a dire. e. -5.

conclusione

Come si può vedere, la classe BigInteger Java fornisce una varietà di strumenti per operazioni su numeri molto grandi. In questo tipo di troppo pieno è possibile, dal momento che la sicurezza in Java è una delle massime priorità, naturalmente, senza compromettere la funzionalità.