GenelJava

BigInteger BigDecimal Nedir, Nasıl kullanılır ?

BigInteger BigDecimal dersine hoşgeldiniz, Int, long, short, byte ve float, double ‘ın bazen isterlerimizi karşılamadığı durumlar var. Daha fazla bilgi için Kotlin özelinde anlattığım Numbers dersini inceleyebilirsiniz. Ders için Tıklayın.

2 üzeri 64 -1 sayısı long’un alacağı en yüksek değerdir, double içinde geçerli bu durum. Peki üstü bir sayı gelirse ne olacak. İşte bu durumlarda bizi kurtaracak olan şey bigInteger, bigDecimal sınıfları.

bigInteger, bigDecimal sınıfları değişmeyen (immutable) ve üzerinde her işlem yaptığınızda yeniden nesne oluşturmanızı gerektiren sınıflardır.

Bir değeri bigInteger’a atamak için valueOf değerini kullanıyoruz. başka bir sınıf eğer bigInteger değerini almak isterse intValueOf, longValueOf ile tip dönüşümü yapabilir.

Şimdi hadi birlikte örneklerimizi yapalım.

12312412412412415124124213123123124123123123123 -> sayısını long, int ile ifade edebilir misiniz ?

edemeyiz, bunu bigInteger’la ifade etmek için :

BigInteger bigInteger=new BigInteger("12312412412412415124124213123123124123123123123");

kullanılır.

BigInteger bigInteger=new BigInteger("12312412412412415124124213123123124123123123123");
BigInteger bigInteger1=new BigInteger("121412421");

System.out.println(bigInteger1.min(bigInteger));

for (int i =1;i<9999999;i++){
bigInteger = bigInteger.add(BigInteger.valueOf(i));
}

System.out.println(bigInteger);

Misal bigIntegerlar arasında matematiksel işlemler yapabilirsiniz.

Aynı işlem ‘i bigDecimal içinde uygulayabiliyoruz.


BigDecimal bigInteger=new BigDecimal("12312412412412415124124213123123124123123123123.0");
BigDecimal bigInteger1=new BigDecimal("121412421.0");

System.out.println(bigInteger1.min(bigInteger));

for (int i =1;i<9999999;i++){
bigInteger = bigInteger.add(BigDecimal.valueOf(i));
}

System.out.println(bigInteger);

Yazımızda sona geldik, okuduğunuz için teşekkür ederiz.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir