Wielkie liczby

Nie zawsze uda Nam się zmieścić w zakresie typu podstawowego liczb całkowitych Integer, itp.
Przychodzą Nam wtedy z pomocą klasy dostępne w bibliotekach Javy, np. BigInteger.
Do wykonywania operacji arytmetycznych na nich używamy specjalnych metod:
add() //dodawanie
subtract() //odejmowanie
multiply() //mnożenie
divide() //dzielenie
mod() //reszta z dzielenia
sqrt() //pierwiastek kwadratowy
compareTo() //porównanie liczb;0-równe;-1,1-mniejsza,większa
valueOf() //zwraca wielką liczbę o wartości z nawiasu
Klasę BigDecimal używamy odpowiednio dla liczb zmiennoprzecinkowych.

Poniżej prosty przykład zastosowania:

package net.javainfo.basics;

import java.math.BigInteger;

//Przykład zastosowania dużych liczb
public class BigNumber {

    public  static void main(String[] args){

        BigInteger n = new BigInteger("999999999999999999999999999999999999999999999999999999999999999999999");

        BigInteger k = n;

        System.out.printf("Liczba n: %s%n",n);
        System.out.printf("Liczba k: %s%n",n);

        n = n.add(BigInteger.valueOf(1));

        System.out.printf("Liczba n po dodaniu liczby 1: %s%n",n);

        n = n.subtract(BigInteger.valueOf(1));

        System.out.printf("Liczba n po odjęciu liczby 1: %s%n",n);

        if(n.compareTo(k) == 0)
            System.out.println("Liczby n i k są znowu równe.");
    }
}

Opublikowano

w

przez

Tagi:

Komentarze

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *