اذهب إلى المحتوى

السؤال

Recommended Posts

  • 1
نشر (معدل)

في حال كانت القيم التي تتعامل معها أعداد صحيحة Integer، استخدم الصف BigInteger لحل مشكلتك فهو صف مخصص للتعامل مع الأرقام الضخمة كالتالي:

import java.math.BigInteger;
BigInteger Bigint = new BigInteger("88888999999999999999999999"); # أدخل الرقم كسلسلة نصية

في حال كانت بياناتك أعداد عشرية، استخدم الصف BigDemical بنفس الطريقة السابقة:

import java.math.BigDemical;
BigDemical Bigdem = new BigDemical("88888999999999999999999.2123"); # أدخل الرقم كسلسلة نصية

للقيام بعمليات الجمع والضرب والقسمة..إلخ..  في هذه الحالة نستخدم توابع جاهزة معرفة من أجل هذه الكلاسات مثال:

/*
BigInteger x = new BigInteger("1");
BigInteger y = new BigInteger("5");
الجمع يتم كالتالي
BigInteger z=x.add(y);
الطرح
BigInteger w=x.subtract(y);
الضرب
BigInteger k=x.multiply(y);
القسمة
BigInteger k=x.divide(y);
*/


# مثال لتابع يحسب العاملي لعدد ما
import java.math.BigInteger;

public class BigNumbers
{
	
	static BigInteger factorial(int m)
	{
		
		BigInteger x = new BigInteger("1");
		for (int i = 2; i <= m; i++)
			x = x.multiply(BigInteger.valueOf(i));  # BigInteger.valueOf(i) هذه التعليمة لتحويل نمط المتغير

		return x;
	}

	
	public static void main(String args[])
	{
		System.out.println(factorial(50));
	}
}

 

تم التعديل في بواسطة Ali Haidar Ahmad
  • 0
نشر

إن كان عدد الخانات كبير جداً يمكنك استخدام الصنف Big Integer للأعداد الصحيحة و Big Decimal للأعدادا العشرية في جافا والذي يحول القيم الرقمية لسلاسل نصية و يتعامل بها على هذا الأساس:

مثال عن Big Decimal:

import java.math.BigDecimal;
 
public class BigDecimalExample {
     
    public static void main(String[] args) {
         
        // تعريف عددين new BigDecimals
        BigDecimal BigDec1 = new BigDecimal("192438126384712332");
        BigDecimal BigDec2 = new BigDecimal("112213664998918253");
 
        // جمع
        BigDec1 = BigDec1.add(BigDec2);
        System.out.println("BigDec1 = " + BigDec1);
 
        // جداء
        BigDec1 = BigDec1.multiply(BigDec2);
        System.out.println("BigDec1 = " + BigDec1);
 
        // طرح
        BigDec1 = BigDec1.subtract(BigDec2);
        System.out.println("BigDec1 = " + BigDec1);
 
        // قسمة
        BigDec1 = BigDec1.divide(BigDec2);
        System.out.println("BigDec1 = " + BigDec1);
 
        // القوة power of 2
        BigDec1 = BigDec1.pow(2);
        System.out.println("BigDec1 = " + BigDec1);
 
        // القيم السالبة BigDecimal1
        BigDec1 = BigDec1.negate();
        System.out.println("BigDec1 = " + BigDec1);
    }
}

 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...