Operator remainder w klasie BigInteger

Operator remainder jest dokładnym odpowiednikiem operatora % (modulus operator), tyle że jest metodą klasy BigInteger. Wyniki działania są dokładnie identyczne jak opisano tutaj: Operator % (modulus operator)

BigInteger remainder(BigInteger val)

Wykonywana jest operacja this % val, czyli otrzymujemy resztę z dzielenia.
Jeśli val = 0 wyrzuca ArithmeticException.

BigInteger[] divideAndRemainde(BitInteger val)

Zwraca tablicę [this / val, this % val)], czyli wynik dzielenia oraz resztę.
Jeśli val = 0 wyrzuca ArithmeticException.

BigInteger[] sqrtAndRemainder()

Zwraca tablicę [sqrt(this), this - s * s], czyli pierwiastek (część całkowita – część ułamkowa odcięta) oraz resztę, po odjęciu od liczby kwadratu pierwiastka.
Jeśli this < 0 wyrzuca ArithmeticException.

Wynik

KlasaBigInt11
package java_math_biginteger;

import java.math.*;

public class BigInt11 {
    public static void main(String[] args) {
        BigInteger dzielna1 = new BigInteger("10");
        BigInteger dzielna2 = new BigInteger("-10");
        BigInteger dzielnik1 = new BigInteger("3");
        BigInteger dzielnik2 = new BigInteger("-3");
        //
        BigInteger reszta1 = dzielna1.remainder(dzielnik1);
        Util.print(reszta1);
        BigInteger reszta2 = dzielna1.remainder(dzielnik2);
        Util.print(reszta2);
        BigInteger reszta3 = dzielna2.remainder(dzielnik1);
        Util.print(reszta3);
        BigInteger reszta4 = dzielna2.remainder(dzielnik2);
        Util.print(reszta4);
    }
}

Po uruchomieniu klasy otrzymamy:

 1
 1
-1
-1

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *