سؤال

ولدي لاستخدام الأعداد الصحيحة غير الموقعة التي يمكن أن تمتد إلى أكثر من 4 بايت، ما هو نوع يجب أن استخدمها؟

وPS آسف لل"noobism" لكن هذا كل شيء: D

ملحوظة: أنا بحاجة صحيحة لأن لدي للقيام الانقسامات ونهتم فقط للأجزاء صحيح وهذه الطريقة الباحث مفيدة

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

المحلول

فترة طويلة طويلة ، 64 بت عدد صحيح ... <لأ href = "http://msdn.microsoft.com/en-us/library/s3f49ktz(VS.80).aspx" يختلط = "noreferrer"> هنا يمكنك أن تجد بعض المراجع عن أنواع البيانات وتتراوح ...

نصائح أخرى

وببساطة تشمل واستخدام int64_t وuint64_t (منذ كنت تريد غير موقعة، وتريد uint64_t).

وهناك العديد من المتغيرات الأخرى المفيدة في ذلك رأس، مثل أقل المتغيرات (uint_least64_t هو نوع مع لا يقل عن 64 بت) والمتغيرات السريعة (uint_fast64_t هي أسرع نوع عدد صحيح مع لا يقل عن 64 بت). أيضا مفيدة جدا هي intptr_t / uintptr_t (كبير بما فيه الكفاية لاغية * المؤشر) وintmax_t / uintmax_t (أكبر نوع).

وإذا كان لسبب لا يكون المترجم الخاص بك (منذ IIRC انها معيار C، وليس واحد C ++)، يمكنك استخدام دفعة و<لأ href = "HTTP: //www.boost كافيه / وثيقة / يبس / 1_36_0 / يبس / صحيح / cstdint.htm "يختلط =" noreferrer "> دفعة / cstdint.hpp (والتي يمكنك استخدامها حتى لو كان لديك علامة ، منذ في هذه الحالة فإنه ينبغي ببساطة إلى الأمام إلى رأس البرمجي).

وأن تختار:

وlong long (-9،223،372،036،854،775،808 إلى 9،223،372،036،854،775،807)

وunsigned long long: (من 0 إلى 18،446،744،073،709،551،615)

إذا كنت بحاجة إلى أعداد صحيحة طويلة حقا (الدقة التعسفي)، يمكنك أيضا أن تجرب برنامج الرصد العالمي مكتبة، والذي يوفر أيضا استنادا على واجهة الطبقة C ++.

وغير الموقعة طويلة طويلة - بل هو لا يقل عن 64 بت طويلة

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