584 Shares 9821 views

BigInteger Java: Praca z dużymi liczbami

Java jest używany głównie do pisania dużych przedsiębiorstw aplikacji internetowych. Jednak jest to również zastosowanie w innych dziedzinach, w których często istnieje konieczność pracy z bardzo dużych ilościach. Chociaż Java ma prymitywne typy istnieją sytuacje, w których nie są one na tyle.


Wiadomym jest, że wszystkie prymitywy mają jedną nieprzyjemną cechę – typ przelewu, w którym wyjście zakresie prowadzi do błędnych obliczeń. W tym celu istnieje specjalna klasa BigInteger. Java nie byłoby Java, jeśli nie było to oddzielne klasy z funkcjonalności dla tej sprawy. Rozważmy to w sposób bardziej szczegółowy.

Klasa BigInteger Java: Opis

Jak wiecie, klasa BigInteger zawija do dużych wartości całkowitych. Do hermetyzacji liczbę w tego typu obiektu, można użyć jednego z przeciążeniami jego konstruktora lub statyczną metodą valueOf. Konstruktor jako argument może mieć tablicę ciągów lub bajtów. Aby przekonwertować prostych typów reprezentujących liczby całkowite w BigInteger Java użyć statycznej metody valueOf.

Ponieważ Java ma możliwości przeładowania operatorów do wykonywania operacji matematycznych na wartościach zawarta w tej klasie, pod warunkiem odpowiedniej metody. O nich zostaną omówione dalej.

Java BigInteger: metody i przykłady ich zastosowania

Ta klasa ma do dyspozycji szereg metod, które pozwalają manipulować wartości liczbowych i wykonywać na nich różne operacje matematyczne. Poniżej znajduje się lista tych metod.

Pozwól nam metod, które wykonują operacje arytmetyczne:

– dodawać (wartości) – wykonuje dodanie bieżącej wartości obiektu, przy czym przenosi się jako parametr;

– odejmowania (subtraktora) – wykonuje subtraktora odjęcie bieżącej wartości;

– wielowarstwowy (wartości) – mnoży;

– podział (rozdzielacza) – przeprowadza podział bieżącej wartości dzielnika;

– POW (Int Arg) – podnosi wartość przedmiotu spowodowanych przez wartość energii w arg;

– ABS () – zwraca wartość bezwzględna przedmiotu połączenia;

– Negatyw () – zwraca obiekt BigInteger którego wartość jest przeciwnego znaku.

Spójrzmy na prosty przykład operacji arytmetycznej na dwóch wartościach kapsułkach w obiekcie:

– BigInteger wart1, wart2, dodając dzielenia, oppositeSign;

– wart1 = nowy BigInteger ( "5");

– wart2 = BigInteger.valueOf (10);

– dodawanie = val1.add (wart2);

– podział = val2.divide (wart1);

– oppositeSign = val1.negate ();

Należy zwrócić uwagę na sposób tworzenia obiektów. Zmienna val1 zainicjowany za pomocą konstruktora, akceptując ciąg i przechowuje wartość 5. wart2 ma wartość 10 w wyniku statycznego Metoda valueOf. zmienna dodanie wynik dodawania pierwszych dwóch zmiennych i jest równa 15. Zmienna podziału odpowiednio zapamiętuje wynik odejmowania. oppositeSign val1 jest wartością z przeciwnym znakiem, tj. np. -5.

wniosek

Jak widać, klasa BigInteger Java oferuje szereg narzędzi do operacji na bardzo dużych ilościach. W tego typu przelewu jest możliwe, ponieważ bezpieczeństwo w Javie jest jednym z najwyższych priorytetów, oczywiście, bez pogarszania jego funkcjonalności.