0Pricing
Java Academy · Pelajaran

BigInteger untuk Bilangan Besar

Bilangan bulat dengan presisi arbitrer

BigInteger untuk Bilangan Besar adalah pelajaran Java Academy gratis di CoddyKit. Ini adalah pelajaran 4 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Java Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Java Academy mencakup 4 pelajaran total.

Melampaui Bilangan Panjang

Tipe primitif long dapat menampung nilai hingga sekitar 9,2 kuintiliun. Jika Anda membutuhkan bilangan bulat yang lebih besar dari itu, Java menyediakan BigInteger dari paket java.math, yang tidak memiliki batas atas tetap.

Saat Bilangan Panjang Meluap

Melebihi Long.MAX_VALUE secara diam-diam akan membuat nilai berputar menjadi bilangan negatif. Kerusakan data ini merupakan sumber kesalahan klasik.

public class Main {
    public static void main(String[] args) {
        long max = Long.MAX_VALUE;
        System.out.println(max);
        System.out.println(max + 1);
    }
}

Membuat BigInteger

Buat BigInteger dari deretan digit dalam bentuk teks. Tidak ada batas panjang, sehingga Anda dapat menuliskan bilangan yang jauh lebih besar daripada bilangan primitif mana pun.

import java.math.BigInteger;

public class Main {
    public static void main(String[] args) {
        BigInteger huge = new BigInteger("123456789012345678901234567890");
        System.out.println(huge);
    }
}

Dari Bilangan Panjang dengan valueOf

Jika nilai awal Anda muat dalam long, BigInteger.valueOf adalah metode pembuat yang praktis.

import java.math.BigInteger;

public class Main {
    public static void main(String[] args) {
        BigInteger n = BigInteger.valueOf(1000000);
        System.out.println(n);
    }
}

Aritmetika yang Tidak Dapat Diubah

Seperti BigDecimal, BigInteger tidak dapat diubah. add, subtract, dan multiply mengembalikan objek baru yang harus Anda simpan.

import java.math.BigInteger;

public class Main {
    public static void main(String[] args) {
        BigInteger a = new BigInteger("99999999999999999999");
        BigInteger b = BigInteger.valueOf(1);
        System.out.println(a.add(b));
    }
}

Mengalikan Bilangan Besar

Perkalian yang akan menyebabkan long meluap dapat berjalan dengan baik menggunakan BigInteger.

import java.math.BigInteger;

public class Main {
    public static void main(String[] args) {
        BigInteger a = new BigInteger("10000000000");
        BigInteger b = new BigInteger("10000000000");
        System.out.println(a.multiply(b));
    }
}

Menghitung Faktorial

Faktorial bertambah dengan sangat cepat. Bahkan faktorial 30 akan menyebabkan long meluap, tetapi BigInteger dapat menanganinya dengan mudah.

import java.math.BigInteger;

public class Main {
    public static void main(String[] args) {
        BigInteger result = BigInteger.ONE;
        for (int i = 1; i <= 30; i++) {
            result = result.multiply(BigInteger.valueOf(i));
        }
        System.out.println(result);
    }
}

Perpangkatan dan Sisa Pembagian

pow menaikkan suatu nilai menjadi pangkat bilangan bulat, sedangkan mod memberikan sisanya. Keduanya umum digunakan dalam kriptografi.

import java.math.BigInteger;

public class Main {
    public static void main(String[] args) {
        BigInteger base = BigInteger.valueOf(2);
        System.out.println(base.pow(64));
        System.out.println(base.pow(10).mod(BigInteger.valueOf(7)));
    }
}

Membandingkan Nilai

Gunakan compareTo untuk mengurutkan dua nilai BigInteger. Metode ini mengembalikan bilangan negatif, nol, atau bilangan positif.

import java.math.BigInteger;

public class Main {
    public static void main(String[] args) {
        BigInteger a = new BigInteger("500");
        BigInteger b = new BigInteger("1000");
        System.out.println(a.compareTo(b));
    }
}

Konstanta Praktis

BigInteger menyediakan ZERO, ONE, TWO, dan TEN. Gunakan semuanya sebagai akumulator awal atau dalam perulangan.

import java.math.BigInteger;

public class Main {
    public static void main(String[] args) {
        BigInteger sum = BigInteger.ZERO;
        sum = sum.add(BigInteger.TEN).add(BigInteger.ONE);
        System.out.println(sum);
    }
}

Kapan Menggunakannya

Gunakan BigInteger untuk faktorial, penghitung yang sangat besar, kunci kriptografi, dan situasi apa pun ketika hasilnya mungkin melebihi long. Untuk perhitungan biasa, tetap gunakan tipe primitif karena jauh lebih cepat.

Pemeriksaan Singkat

Uji pemahaman Anda tentang BigInteger.

Ringkasan

Anda telah mempelajari cara menggunakan BigInteger:

  • long meluap secara diam-diam, sedangkan BigInteger tidak memiliki batas tetap
  • Buat dari teks atau dengan valueOf
  • BigInteger tidak dapat diubah, jadi simpan hasil setiap operasi
  • add, multiply, pow, dan mod mencakup perhitungan umum
  • Gunakan untuk faktorial, kriptografi, dan nilai apa pun yang lebih besar dari long

Pertanyaan yang Sering Diajukan

Apakah pelajaran “BigInteger untuk Bilangan Besar” gratis?

Ya — teks lengkap “BigInteger untuk Bilangan Besar” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Java Academy, upgrade ke CoddyKit PRO. Kursus Java Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “BigInteger untuk Bilangan Besar”?

Bilangan bulat dengan presisi arbitrer Kamu berlatih Java Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Java Academy?

Tidak diperlukan pengalaman sebelumnya. Java Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 4 dari 4.

Berapa lama pelajaran “BigInteger untuk Bilangan Besar” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Java Academy ini?

Ya. Setiap pelajaran Java Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Mengapa Bukan double untuk Uang
  2. Bekerja dengan BigDecimal
  3. Pembulatan dan Skala
  4. BigInteger untuk Bilangan Besar
← Kembali ke Java Academy