Klasa BigInteger (2) – podstawowe metody
Gdybyś potrzebował dodatkowych informacji:
- Operator % (modulus operator) w języku Java
- Operator remainder w klasie BigInteger
- Operator mod w klasie BigInteger
- Kongruencje i arytmetyka modularna
Wszystkie przykłady w klasie BigInt09
.
BigInteger abs()
Zwraca wartość absolutną z tej liczby BigInteger.
BigInteger a = new BigInteger("-24"); Util.print(a); BigInteger abs = a.abs(); Util.print(abs);
-24 24
int signum()
Zwraca dla tej liczby -1 (jeśli liczba jest ujemna), 0 (jeśli liczba jest zerem), 1 (jeśli liczba jest dodatnia.
BigInteger a = new BigInteger("-24"); int sign = a.signum(); Util.print(sign);
-1
BigInteger add(BigInteger big)
Zwraca wynik dodania this + big
.
BigInteger subtract(BigInteger big)
Zwraca wynik odejmowania this - big
.
BigInteger multiply(BigInteger big)
Zwraca wynik mnożenia this * big
.
BigInteger divide(BigInteger big
Zwraca wynik dzielenia this / big
(tylko część całkowita)
BigInteger b = new BigInteger("5"); BigInteger c = new BigInteger("3"); BigInteger r1 = b.add(c); Util.print(r1); BigInteger r2 = b.subtract(c); Util.print(r2); BigInteger r3 = b.multiply(c); Util.print(r3); BigInteger r4 = b.divide(c); Util.print(r4);
8 2 15 1
BigInteger pow(int exp)
Zwraca thisexp.
BigInteger b = new BigInteger("5"); BigInteger pow = b.pow(3); Util.print(pow);
125
BigInteger[] divideAndRemainder(BigInteger big)
Zwraca tablicę [this / big, this % big]
.
BigInteger b = new BigInteger("5"); BigInteger d = new BigInteger("17"); BigInteger[] dar = d.divideAndRemainder(b); Util.print(dar);
[3, 2]
Otrzymaliśmy wynik dzielenia 17/5=3 oraz 17%5=2, czyli 17/5 = 3 reszta 2.
BigInteger gcd(BigInteger big)
Zwraca największy wspólny dzielnik nwd(abs(this), abs(big))
.
BigInteger b = new BigInteger("5"); BigInteger e = new BigInteger("15"); BigInteger gcd = e.gcd(b); System.out.println(gcd);
5
Największy wspólny dzielnik 15 i 5 to liczba 5 nwd(15,5)=5
.
BigInteger sqrt()
Zwraca pierwiastek kwadratowy z this
.
BigInteger e = new BigInteger("15"); BigInteger sqrt = e.sqrt(); System.out.println(sqrt);
3
BigInteger mod(BigInteger m)
Zwraca wynik this mod m
. Zwracana liczba w przeciwieństwie do remainder
zawsze jest dodatnia
BigInteger b = new BigInteger("5"); BigInteger d = new BigInteger("17"); BigInteger mod = d.mod(b); Util.print(mod);
2
BigInteger modInverse(BigInteger m)
Zwraca wynik this-1 mod m
.
BigInteger b = new BigInteger("5"); BigInteger d = new BigInteger("17"); BigInteger modi = d.modInverse(b); Util.print(modi);
3
BigInteger modPow(BigInteger exp, BigInteger m)
Zwraca thisexp mod m
.
BigInteger b = new BigInteger("5"); BigInteger c = new BigInteger("3"); BigInteger e = new BigInteger("15"); BigInteger modp = e.modPow(c, b); Util.print(modp);
0
BigInteger remainder(BigInteger big)
Zwraca this % val
.
BigInteger b = new BigInteger("5"); BigInteger d = new BigInteger("17"); BigInteger rem = d.remainder(b); Util.print(rem);
2
BigInteger[] sqrtAndRemainder()
Zwraca tablicę [, this - s * s]
BigInteger e = new BigInteger("15"); BigInteger[] sqrtr = e.sqrtAndRemainder(); Util.print(sqrtr);
[3, 6]