CodeGym /Blog Jawa /Acak /Java BigInteger Class
John Squirrels
tingkat
San Francisco

Java BigInteger Class

Diterbitake ing grup

Apa Kelas BigInteger?

Ana sawetara jinis data primitif ing Jawa sing digunakake, kayata int utawa long, kanggo nindakake operasi integer. Nanging, kadhangkala kita kudu nyimpen nomer akeh ing njaba ruang lingkup jinis data primitif kasebut. Kelas BigInteger digunakake kanggo ngitung matematika kanggo nomer sing akeh banget. Menehi kabeh cara saka paket java.lang.Math lan analog kanggo kabeh operator integer primitif Jawa. BigIntegerKelas kalebu operasi kanggo aritmetika modular, manipulasi bit, pitungan GCD, lan sawetara operasi liyane. BigIntegers diwakili ing notasi loro-pelengkap. Ora ana watesan teoretis babagan jumlah sing bisa disimpen amarga memori dialokasikan kanthi dinamis. Nanging, sacoro prakteke memori diwatesi lan kita bisa nyimpen integer sing jumlah bit kurang saka utawa padha karo Integer.MAX_VALUE . Iki nyedhiyakake wates ndhuwur sing cukup gedhe kanggo nyimpen meh kabeh nomer gedhe.

Kepiye Kelas BigInteger Dilaksanakake?


import java.math.BigInteger;
Kanggo ngleksanakake kelas BigInteger ing kode, sampeyan kudu ngimpor paket java.math.BigInteger .

Pranyatan Kelas BigInteger

Kelas BigInteger ing Jawa diumumake kanthi cara ing ngisor iki ing paket java.math :

public class BigInteger
   extends Number
      implements Comparable<BigInteger>
Kelas BigInteger ngluwihi kelas Number lan ngleksanakake antarmuka Comparable . Diumumake lan ditetepake ing paket java.math .

Konstruktor Kelas

Kelas BigInteger Jawa nduweni akeh konstruktor sing kakehan beban. Sampeyan bisa nyoba lan mbukak saben editor kanggo ndeleng cara kerjane.
Sr# Konstruktor Katrangan
1 BigInteger(byte[] val) Nerjemahake array byte menyang BigInteger .
2 BigInteger(int signum, byte[] magnitudo) Nerjemahake perwakilan gedhene tandha menyang BigInteger .
3 BigInteger(int bitLength, int certainty, Random rnd) Mbangun BigInteger positif kanthi acak kanthi dawa sing ditemtokake.
4 BigInteger(String val) Nerjemahake representasi string desimal menyang BigInteger .
5 BigInteger(String val, int radix) Ngonversi perwakilan String ing radix sing ditemtokake dadi BigInteger .

Metode Kelas

Kelas BigInteger Jawa nduweni akeh metode, sawetara sing diterangake ing ngisor iki. Ing tabel, 'iki' nggambarake BigInteger sing nyebutake metode kasebut lan ' val ' minangka argumen sing diterusake menyang metode kasebut.
abs() Iki ngasilake nilai mutlak ' iki ' BigInteger .
nambah() Iki ngasilake Biginteger kanthi ngitung ' iki + val '.
nyuda () Iki ngasilake Biginteger kanthi ngitung ' this - val '.
dibagi() Iki ngasilake Biginteger kanthi ngitung ' this / val '.
multiply() Iki ngasilake Biginteger kanthi ngitung ' iki * val '.
valueOf() Iki ngasilake nilai BigInteger sing diwenehi long .
padha () Iki mbandhingake kesetaraan antarane ' iki ' BigInteger lan obyek tartamtu.
pow() Iki ngasilake Biginteger kanthi ngitung ' exponent ' iki.
min() Iki ngasilake minimal antarane ' iki ' BigInteger lan nilai sing diwenehake.
maks() Iki ngasilake maksimal antarane ' iki ' BigInteger lan nilai sing diwenehake.
mod() Iki ngasilake nilai kanggo ' mod iki m '.
gcd() Iki ngasilake BigInteger sing dadi pembagi umum paling gedhe antarane nilai absolut ' iki ' lan ' nilai sing dilewati '.
bitCount() Iki ngasilake jumlah bit ing perwakilan loro-pelengkap saka ' iki ' BigInteger .
bitLength() Iki ngasilake jumlah bit, ora kalebu bit tandha, ing perwakilan komplementer loro minimal ' iki ' BigInteger .
lan() Iki ngasilake Biginteger kanthi ngitung ' this & val '.
utawa () Iki ngasilake Biginteger kanthi ngitung ' iki | val '.
ora() Iki ngasilake Biginteger kanthi ngitung ' ~this'.
lan Ora() Iki ngasilake Biginteger kanthi ngitung ' iki & ~ val '.
intValue() Ngonversi BigInteger dadi int .
floatValue() Ngonversi BigInteger dadi ngambang .
longValue() Ngonversi BigInteger dadi dawa .
doubleValue() Iku ngowahi BigInteger dadi pindho .
toString() Iki ngasilake perwakilan string desimal saka BigInteger .

Tuladha 1


import java.math.BigInteger;
public class Example1 {
    static BigInteger calculateFactorial(int val) {
        // Initialize result
        BigInteger f = BigInteger.ONE; // Or new BigInteger("1")
        // compute factorial
        for (int i = 2; i <= val; i++) {
            f = f.multiply(BigInteger.valueOf(i));
        }

        return f;
    }

    // Driver method
    public static void main(String[] args) {
        int val = 25;
        System.out.println(calculateFactorial(val));
    }
}

Output

15511210043330985984000000

Panjelasan

Ing snippet ndhuwur, faktor nomer akeh diwilang nggunakake BigInteger Class dening ngimpor paket java.math.BigInteger . Kita wis nggawe metode kalkulatorFactorial . Cara iki nggawe BigInteger banjur ngetung faktorial kanthi nggunakake metode multiply f.multiply(BigInteger.valueOf(i)) .

Tuladha 2


import java.math.BigInteger;
public class Example2 {

    public static void main(String[] args) {
        BigInteger big1 = new BigInteger("20");
        BigInteger big2 = new BigInteger("60");
        BigInteger sub = big2.subtract(big1);
        System.out.println(big2 + " - " + big1 + " = " + sub);
        BigInteger add = big1.add(big2);
        System.out.println(big1 + " + " + big2 + " = " + add);
        BigInteger mul = big1.multiply(big2);
        System.out.println(big1 + " * " + big2 + " = " + mul);
        BigInteger div = big2.divide(big1);
        System.out.println(big2 + " / " + big1 + " = " + div);
        BigInteger min = big1.min(big2);
        System.out.println("min value: " + min);
        BigInteger max = big1.max(big2);
        System.out.println("max value: " + max);
    }
}

Output

60 - 20 = 40 60 + 20 = 80 60 * 20 = 1200 60 / 20 = 3 Nilai min: 20 Nilai maksimal: 60

Panjelasan

Ing snippet ndhuwur, kita wis nggawe loro BigInteger s nggunakake BigInteger (String val) konstruktor. Kita nggunakake macem - macem cara ing BigInteger big1 lan big2 kanthi nilai 20 lan 60. Kita nggunakake cara ing ngisor iki:
  1. big2.subtract(big1) kanggo nyuda 20 saka 60.
  2. big1.add(big2) kanggo nambah 20 lan 60.
  3. big1.multiply(big2) kanggo multiply 20 lan 60.
  4. big2.divide(big1) kanggo dibagi 60 dening 20.
  5. big1.min (big2) kanggo njaluk luwih cilik saka loro nilai.
  6. big1.max (big2) kanggo njaluk luwih gedhe saka loro nilai.
Iku penting kanggo Wigati sing java.math.BigInteger diimpor ing ndhuwur kode.

Kesimpulan

Saiki sampeyan kudu ngerti Kelas BigInteger ing Jawa. Sampeyan kudu bisa nggunakake BigInteger ing kode nggunakake macem-macem jinis konstruktor. Sampeyan uga kudu bisa nindakake operasi aritmetika lan logis sing beda-beda kanthi nggunakake metode Kelas BigInteger . Minangka tantangan, sampeyan bisa nyoba nelpon cara beda karo nilai beda BigInteger s. Iku bakal luwih ngiyataken pangerten BigInteger s ing Jawa. Supaya luwih percaya diri ing sinau coba latihan bola-bali. Kunci kanggo coding sing apik yaiku praktik. Sukses lan seneng coding!
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION