Sarp
مدیر بازنشسته
در اين بخش شما خواهيد ديد كه چگونه در جاوا مي توان به سادگي محاسبات رياضي مورد نياز را روي اعداد بسيار بزرگ انجام داد. در حالت عادي براي انجام اينگونه محاسبات، نياز به استفاده از آرايه ها و آشنايي با اصول ساختمان داده ها مي باشد. اما در جاوا، كتابخانه اي وجود دارد كه امكانات مورد نياز براي انجام اينگونه محاسبات را در اختيار برنامه نويسان قرار مي دهد. اين كتابخانه BigDecimal نام دارد.
import java.math.BigDecimal;
برخي از متدهاي موجود در اين كتاخانه عبارتند از «با فرض اينكه bd1 و bd2 دو عدد بزرگ باشند»:
System.out.println("bd1+bd2 ="+ bd1.add(bd2));System.out.println("bd1*bd2 ="+ bd1.multiply(bd2));System.out.println("bd1-bd2 ="+ bd1.subtract(bd2));System.out.println("bd1/bd2 ="+ bd1.divide(bd2, BigDecimal.ROUND_UP));System.out.println("-bd1 ="+ bd1.negate());System.out.println("-bd1^2 ="+ bd1.pow(2));
در ادامه متن كامل اين برنامه را مشاهد مي نماييد.
کد:
import java.math.BigDecimal;
public class bigNumber {
public static void main(String []args){
// Create via a String
BigDecimal bd1 = new BigDecimal("1000000000000000");
// Create via a long
BigDecimal bd2 = BigDecimal.valueOf(12300000000000L);
System.out.println("bd1+bd2 ="+ bd1.add(bd2));
System.out.println("bd1*bd2 ="+ bd1.multiply(bd2));
System.out.println("bd1-bd2 ="+ bd1.subtract(bd2));
System.out.println("bd1/bd2 ="+ bd1.divide(bd2, BigDecimal.ROUND_UP));
System.out.println("-bd1 ="+ bd1.negate());
System.out.println("-bd1^2 ="+ bd1.pow(2));
}
}