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:
longmeluap secara diam-diam, sedangkanBigIntegertidak memiliki batas tetap- Buat dari teks atau dengan
valueOf - BigInteger tidak dapat diubah, jadi simpan hasil setiap operasi
add,multiply,pow, danmodmencakup 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
- Mengapa Bukan double untuk Uang
- Bekerja dengan BigDecimal
- Pembulatan dan Skala
- BigInteger untuk Bilangan Besar