0Pricing
Java Academy · Ders

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:

  • long sessizce taşar, ancak BigInteger sabit bir sınıra sahip değildir
  • Onu bir dizeden veya valueOf ile oluşturun
  • Değişmezdir; bu nedenle her işlemin sonucunu saklayın
  • add, multiply, pow ve mod yaygın matematik işlemlerini kapsar
  • Faktöriyeller, kriptografi ve long tü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

  1. Para İçin Neden double Kullanılmamalı
  2. BigDecimal ile Çalışma
  3. Yuvarlama ve Ölçek
  4. Büyük Sayılar İçin BigInteger
← Java Academy Sayfasına Dön