Areeg Abdulah نشر 1 يونيو 2021 أرسل تقرير نشر 1 يونيو 2021 أقوم بحسابات على أرقام ضخمة في جافا لكن تظهر لي أخطاء بأن هذه الأرقام كبيرة.. جربت أن استخدم النمط long لكن أيضاً لم ينجح الأمر. 1 اقتباس
1 Ali Haidar Ahmad نشر 1 يونيو 2021 أرسل تقرير نشر 1 يونيو 2021 (معدل) في حال كانت القيم التي تتعامل معها أعداد صحيحة 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)); } } تم التعديل في 1 يونيو 2021 بواسطة Ali Haidar Ahmad 1 اقتباس
0 Wael Aljamal نشر 1 يونيو 2021 أرسل تقرير نشر 1 يونيو 2021 إن كان عدد الخانات كبير جداً يمكنك استخدام الصنف 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); } } 1 اقتباس
السؤال
Areeg Abdulah
أقوم بحسابات على أرقام ضخمة في جافا لكن تظهر لي أخطاء بأن هذه الأرقام كبيرة.. جربت أن استخدم النمط long لكن أيضاً لم ينجح الأمر.
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.