Büyük Sayılar İçin BigInteger
Arbitrary-precision tam sayılar
Büyük Sayılar İçin BigInteger, CoddyKit'te ücretsiz bir Java Academy dersidir. Bu, 4 dersinin 4. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Java Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Java Academy kursu toplamda 4 dersten oluşur.
long Türünün Ötesi
İlkel long türü yaklaşık 9,2 kentilyona kadar değer tutabilir. Bundan daha büyük tam sayılara ihtiyaç duyduğunuzda Java, sabit bir üst sınırı olmayan java.math paketindeki BigInteger türünü sunar.
long Taştığında
Long.MAX_VALUE değerinin aşılması, sessizce negatif bir sayıya sarılmaya neden olur. Bu bozulma, klasik bir hata kaynağıdır.
public class Main {
public static void main(String[] args) {
long max = Long.MAX_VALUE;
System.out.println(max);
System.out.println(max + 1);
}
}BigInteger Oluşturma
Bir BigInteger değerini basamaklardan oluşan bir dizeden oluşturun. Uzunluk sınırı yoktur; bu nedenle herhangi bir ilkel türden çok daha büyük sayılar yazabilirsiniz.
import java.math.BigInteger;
public class Main {
public static void main(String[] args) {
BigInteger huge = new BigInteger("123456789012345678901234567890");
System.out.println(huge);
}
}valueOf ile long Değerinden
Başlangıç değeriniz bir long içine sığıyorsa BigInteger.valueOf kullanışlı bir fabrika yöntemidir.
import java.math.BigInteger;
public class Main {
public static void main(String[] args) {
BigInteger n = BigInteger.valueOf(1000000);
System.out.println(n);
}
}Değişmez Aritmetik
BigDecimal gibi BigInteger da değişmezdir. add, subtract ve multiply yakalamanız gereken yeni nesneler döndürür.
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));
}
}Büyük Sayıları Çarpma
Bir long türünde taşmaya neden olacak çarpma işlemleri, BigInteger ile sorunsuz çalışır.
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));
}
}Faktöriyel Hesaplama
Faktöriyeller çok hızlı büyür. 30 faktöriyel bile bir long türünü taşır, ancak BigInteger bunu kolayca işler.
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);
}
}Üs ve Modül
pow bir değeri tam sayı üssüne yükseltir, mod ise kalanı verir. Her ikisi de kriptografide yaygın olarak kullanılır.
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)));
}
}Değerleri Karşılaştırma
İki BigInteger değerini sıralamak için compareTo kullanın. Bu yöntem negatif bir sayı, sıfır veya pozitif bir sayı döndürür.
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));
}
}Kullanışlı Sabitler
BigInteger; ZERO, ONE, TWO ve TEN sabitlerini sağlar. Bunları başlangıç biriktiricileri olarak veya döngülerde kullanın.
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);
}
}Ne Zaman Kullanılmalı
Faktöriyeller, çok büyük sayaçlar, kriptografik anahtarlar ve sonucun long sınırını aşabileceği her durum için BigInteger kullanın. Sıradan sayımlar için ilkel türleri tercih edin; bunlar çok daha hızlıdır.
Hızlı Kontrol
BigInteger anlayışınızı sınayın.
Özet
BigInteger kullanmayı öğrendiniz:
longsessizce taşar, ancakBigIntegersabit bir sınıra sahip değildir- Onu bir dizeden veya
valueOfile oluşturun - Değişmezdir; bu nedenle her işlemin sonucunu saklayın
add,multiply,powvemodyaygın matematik işlemlerini kapsar- Faktöriyeller, kriptografi ve
longtüründen büyük her değer için kullanın
Sıkça Sorulan Sorular
“Büyük Sayılar İçin BigInteger” dersi ücretsiz mi?
Evet — “Büyük Sayılar İçin BigInteger” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Java Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Java Academy kursu toplamda 4 dersten oluşur.
“Büyük Sayılar İçin BigInteger” dersinde ne öğreneceğim?
Arbitrary-precision tam sayılar Java Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Java Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Java Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 4. dersidir.
“Büyük Sayılar İçin BigInteger” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Java Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Java Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Para İçin Neden double Kullanılmamalı
- BigDecimal ile Çalışma
- Yuvarlama ve Ölçek
- Büyük Sayılar İçin BigInteger