سؤال

تكرار ممكن:
العمل مع أعداد كبيرة في PHP.

أدير تطبيق Facebook عديمة الفائدة تمامًا. أواجه مشكلة في دعم PHP للأعداد الصحيحة. في الأساس ، يعطي المستخدمون أنفسهم أعدادًا سخيفة من النقاط. "الملك" الحالي لديه 102،000،000،000،000،000،000،000،000،000،000،000،000،000،000،000،000،000،000،002،002،557،529،927 نقطة.

لا يبدو أن PHP يلعب بشكل جيد مع أعداد صحيحة كبيرة. عندما يحاول شخص ما إضافة أكثر من كمية معينة من النقاط ، فسوف يفشل ذلك لأن PHP يعامل هذه الأرقام على أنها لا حصر لها.

هل هناك بعض مكتبة الرياضيات للعمل بأعداد كبيرة يبعث على السخرية؟ هل يجب أن أتعامل مع الأرقام كخيوط وأكتب بلدي؟

نحن نتحدث عن الأرقام التي هي 2^20 رقمًا في الطول أو لفترة أطول. لا يحتاجون إلى أن تكون دقيقة (أي أخطاء يتم تحطيمها حتى الجودة المنخفضة للتطبيق بشكل عام) ولا يجب أن تكون عالية الأداء. أنا فقط بحاجة إلى شيء يسمح بأرقام أطول بكثير.

(بالنسبة لأولئك منكم الفضوليين ، نقوم بتخزين أرقامنا في السحابة ، لذلك فإن تكلفة التخزين ليست مشكلة كبيرة.)

هل كانت مفيدة؟

المحلول

يستخدم PHP العوامات ، أو موقعة 32 بت من ints لتخزين الأرقام. من الواضح أن هذا لا يكفي. يمكنك استخدام الحساب الدقيق التعسفي لتخزين هذه الأرقام الكبيرة. انظر كتاب PHP على BC Math لمزيد من المعلومات:

http://php.net/manual/en/book.bc.php

نصائح أخرى

مكتبتان PHP للعمل بأعداد كبيرة قبل الميلاد الرياضيات و GMP.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top