سؤال
أنا أتعامل مع مثال الرياضيات. أحتاج إلى استخدام رقم 12 رقمًا للرمز الخاص بي. إذن ما نوع البيانات الذي يجب أن أستخدمه ، لاستخدام الرقم في وظيفاتي؟
المحلول
أعداد صحيحة 64 بت (long
, int64_t
, unsigned long
, uint64_t
) يجب القيام بالخدعة ، أو إذا كنت بحاجة إلى العشرية ، double
أو long double
.
نصائح أخرى
إذا كان لديك نوع عدد صحيح 64 بت ، فسأذهب مع ذلك ، لأنه يمنحك نطاق (18 رقمًا كاملًا):
−9,223,372,036,854,775,808 to
+9,223,372,036,854,775,807
بالنسبة للمهام الأخرى (حتى الأعداد الصحيحة الأكبر أو قيم النقاط العائمة الضخمة) ، أستخدم GMP, ، مكتبة GNU متعددة الدقة. إنه الأداء مثير للإعجاب.
يمكنك أيضًا استخدام "غير موقعة طويلة طويلة" مع تحديد التنسيق "LLU". إنه يعمل بشكل جيد لرقم 12 رقمًا في C.
unsigned long long i=600851475143;
printf("%llu",i);
أثناء البحث عن مكتبة تسمى Bignum لقد وجدت هذا صفحة ويكي
لا تنتمي إلى StackOverflow