Post

Visualizzazione dei post con l'etichetta java.math.BigInteger

Rappresentare numeri grandissimi

DOMANDA: E' possibile rappresentare in Java dei numeri grandissimi che hanno un valore oltre quello consentito dai tipi di dati primitivi long e int? RISPOSTA: Come abbiamo visto nel post sul range di valori rappresentabili con i diversi tipi di dati primitivi, effettuare un'operazione il cui risultato vada oltre tale limite comporta un errore di calcolo con conseguenze potenzialmente disastrose. La soluzione a tali limitazioni esiste: la prima, più complessa, rientra nell'analisi numerica e in algoritmi di troncamento, arrotondamento e bit shifting, ma non è scopo di questo post. La seconda invece è messa a disposizione da Java con le classi java.math.BigInteger e java.math.BigDecimal (rispettivamente per i numeri interi e decimali). Guardiamo con un esempio come funzionano: package bignumbers; import java.math.BigInteger; public class BigNumbers { public static void main(String[] args) { // rappresentazione errata oltre i limiti