Areeg Abdulah نشر 1 يونيو 2021 أرسل تقرير مشاركة نشر 1 يونيو 2021 أقوم بحسابات على أرقام ضخمة في جافا لكن تظهر لي أخطاء بأن هذه الأرقام كبيرة.. جربت أن استخدم النمط long لكن أيضاً لم ينجح الأمر. 1 اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
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 اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
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 اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
السؤال
Areeg Abdulah
أقوم بحسابات على أرقام ضخمة في جافا لكن تظهر لي أخطاء بأن هذه الأرقام كبيرة.. جربت أن استخدم النمط long لكن أيضاً لم ينجح الأمر.
رابط هذا التعليق
شارك على الشبكات الإجتماعية
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.