Java Biginteger

Java Biginteger

Java oferuje specjalną klasę bigInteger do zarządzania wyjątkowo dużymi liczbami, które są większe niż 64-bitowe liczby. Rozmiar wartości liczb całkowitych, którym może obsłużyć ta klasa, jest po prostu ograniczony przez przydzieloną pamięć JVM. Klasa biginteger, która dziedziczy.wdraża porównywalny interfejs. Daje równoważniki dla każdego prymitywnego operatora całkowitego Java, a także każdej metody z Java.Lang.Moduł matematyki. Zapisana wartość Bigintegera obiektu nie może zostać zmodyfikowana ze względu na niezmienność klasy Biginteger.

Przykład 1:

Poniższy program zapewnia sposób na stworzenie bigInteger w Javie i stosuje działanie arytmetyczne do dostarczonej wartości bigInteger.


Zaimportowaliśmy klasę bigInteger z pakietu matematycznego Java w programie. Następnie zadeklarowaliśmy obiekty biginteger „bigint1” i „bigrint2” w metodzie Main () klasy Java „Bigintegerexample.”Następnie zainicjowaliśmy obiekty bigInteger z dużymi wartościami liczbowymi w klasie Biginteger. Stworzyliśmy inny obiekt klasy bigInteger do wykonywania operacji arytmetycznej na określonej dużej wartości całkowitej. Obiekty są deklarowane jako „mnożenie” w celu pomnożenia wartości bininteger i „podziału” w celu podzielenia wartości bigIntegera.

Następnie przypisaliśmy „bigINT1” wraz z metodą multiply () BigInteger do obiektu „mnożyć”, która przyjmuje wejście „BigINT2.„Ponadto nazwieliśmy metodę Division (), która przyjmuje parametr„ bigINT2 ”, który zostanie podzielony z„ bigINt1 ”i drukuje wyniki po wykonaniu.

Wyniki działalności mnożenia i działu podziału na wartości BigInteger pokazano w następującym obrazie wyjściowym. W ten sposób BigInteger jest skonfigurowany w Javie i używany do różnych operacji.

Przykład 2:

Obliczenia czynnikowe to dobra ilustracja liczby całkowitej, która otrzymuje bardzo duże dane wejściowe. BigInteger można również wykorzystać do uzyskania czynnika dla większych wartości całkowitych.


Stworzyliśmy funkcję „czynnikową” klasy Biginteger, w której obiekt „num” typu Int jest przekazywany jako argument zwrotu czynnika wartości „Num.„Wewnątrz funkcji„ czynnikowej ”zadeklarowaliśmy obiekt Biginteger„ Max_fict ”, w którym określono wartość bigIntegera„ 2 ”. Następnie wdrożyliśmy for pętkę, która iteruje, a następnie pomnożą wartość „max_fict” z 4, 5 i do wartości n-n. Sam mnoś () nazywany jest inną metodą „wartości”, w której podany jest obiekt „i” z pętli. Oświadczenie o powrocie zapewni większy czynnik. Następnie ustaliliśmy metodę programu Main (). Zainicjowaliśmy obiekt „NUM” z wartością i wydrukowaliśmy czynnik „NUM” z metody Proctial ().

Wartość czynnikowa liczby „40” zapewnia wartość bigintegera w następujący sposób:

Przykład 3:

Funkcja bitcount () klasy biginteger liczy bity. Metoda bitCount () zapewnia liczbę bitów w postaci dwóch uzupełnień w tym bigInteger i różnią się od bitu znaku. Ta metoda zwraca bity ustawione, gdy wartość bigintegera jest dodatnia. Z drugiej strony, jeśli bigInteger jest określony o wartości ujemnej, ta metoda zwraca liczbę bitów resetowania.


Zadeklarowaliśmy dwie zmienne, „B1” i „B2” klasy „Biginteger.„Zdefiniowaliśmy również dwie kolejne zmienne,„ liczbę całkowitą ”i„ liczbę całkowitą ”, typ prymitywny. Po deklaracji zainicjowaliśmy „B1” z dodatnią wartością bigIntegera i „B2” z ujemną wartością bigIntegera. Następnie przypisaliśmy „Integer1” i „Integer2” metodą bitcount () do zmiennych biginteger „B1” i „B2.„Zliczone bity zostaną uzyskane z metody bitCount () dla określonych wartości bigInteger.

Pozytywny bigInteger zapewnia bity „2”, a ujemna wartość biginteger wyświetla wartość bitu „1”.

Przykład 4:

Bezwzględną wartość dużych danych liczbowych w bigInteger można określić za pomocą metody ABS () klasy bigInteger. Metoda ABS () zwraca wartość bezwzględną Bigintegera.


Mamy klasę biginteger, z której zadeklarowaliśmy cztery zmienne: „big1”, „big2”, „big3” i „big4”. Zmienne „BIG1” i „BIG2” są określone odpowiednio z wartościami dodatnimi i ujemnymi. Następnie przywołaliśmy metodę ABS () z „Big1” i „Big2” w zmiennych „BIG3” i „BIG4”. Zauważ, że metoda ABS () nie przyjmuje żadnej wartości wejściowej, ale jest wywoływana ze zmiennymi „BIG1” i „BIG2”. Metoda ABS () otrzymuje wartość bezwzględną dla tych zmiennych biginteger, a wyniki zostaną wydrukowane w czasie kompilacji.

Wartość bezwzględna dodatnich 432 i ujemnych 432 jest taka sama, ponieważ metoda ABS () zawsze zwraca dodatnią wartość bezwzględną.

Przykład 5:

Porównanie wartości bigInteger można osiągnąć za pomocą metody bigInteger compowareto (). BigInteger jest porównywany z bigintegerem, który jest wprowadzany jako parametr wewnątrz metody Compareto (). Wartość zwracana metody CompompetO () oparta jest na wartościach bigInteger. Gdy porównanie wartości bigIntegera jest równe, wówczas zwracany jest zero. W przeciwnym razie „1” i „-1” są zwracane pod warunkiem, że wartość bigintegera jest większa lub mniejsza niż wartość bigintegera przekazana jako argument.


Mamy obiekty „MyBigint1” i „MyBigTint2” Deklaracja klasy „Biginteger.„Te obiekty są następnie określone z tymi samymi wartościami bigInteger. Następnie utworzyliśmy inny obiekt „Porównaj wartość”, w którym obiekt „MyBigint1” jest wywoływany za pomocą metody CompompetO (), a obiekt „MyBigint2” jest przekazywany jako argument do porównania z obiektem „MyBigint2” ”. Następnie mamy instrukcję IF-ELSE, w której sprawdziliśmy, czy wyniki metody ComparetO () są równe wartości „0”, czy nie.

Ponieważ oba obiekty BigInteger mają te same wartości, wyniki Compareto () powracają zero, jak pokazują na poniższym obrazku.

Przykład 6:

Metodę BigInteger Flipbit (indeks) można również użyć do odwrócenia w określonej lokalizacji bitowej w bigInteger. Ta metoda ocenia (bigint ^ (1<


Zdefiniowaliśmy dwie zmienne bigInteger, „B_Val1” i „B_val2.„Zmienna„ B_val1 ”jest inicjowana z klasą bigInteger, gdzie określono wartość. Następnie ustawiliśmy zmienną „B_val2” za pomocą metody flipbit (), w której operacja flipbit jest wykonywana na zmiennej „B_Value” z wartością indeksu „2."

Pozycja indeksu wartości BigInteger „9” jest odwracana z indeksem „2”, który wyświetla wartość „13” w wyjściu.

Wniosek

Klasa Biginteger jest bardzo wygodna w użyciu i jest często używana w programowaniu konkurencyjnym ze względu na rozległe bibliotekę metod. BigInteger jest używany do obliczania bardzo długich liczb, które wykraczają poza pojemność wszystkich obecnie dostępnych prymitywnych typów danych. Zapewnia różne metody modułowych operacji arytmetycznych. Najpierw stworzyliśmy bigIntegera, a następnie omówiliśmy kilka jego metod.