المسارات
/
Cairo
Cairo
/
المنهج
/
الأعداد الصحيحة
ال

الأعداد الصحيحة في Cairo

1 تمرين

نبذة عن الأعداد الصحيحة

النوع integer هو عدد بلا جزء كسري. في Cairo، يحدد تعريف نوع الأعداد الصحيحة عدد البتات التي يمكن للمبرمج استخدامها لتخزين القيمة.

الأعداد الصحيحة بدون إشارة لا تمثّل إلا الأعداد الموجبة والعدد 0 (صفر)، وقد يكون ذلك مفيدًا في سياقات برمجية معينة، مثل الفهرسة في المصفوفات وإدارة الذاكرة.

كما يدعم Cairo الأعداد الصحيحة بإشارة، التي يبدأ نوعها بالبادئة i. يمكن لهذه الأعداد تمثيل القيم الموجبة والسالبة معًا، بأحجام تتراوح من i8 إلى i128. يمكن لكل صيغة بإشارة أن تخزّن أعدادًا من $-2^{n-1}$ إلى $2^{n-1} - 1$ ضمنا، حيث $n$ عدد البتات التي تستخدمها تلك الصيغة. على سبيل المثال، يمكن للنوع i8 أن يخزّن أعدادًا من $-2^7$ إلى $2^7 - 1$، أي ما يعادل $-128$ إلى $127$.

Length Unsigned Signed
8 بت u8 i8
16 بت u16 i16
32 بت u32 i32
64 بت u64 i64
128 بت u128 i128
256 بت u256 ------

يوجد أيضًا نوع خاص للأعداد الصحيحة يُسمى usize، وهو حاليًا مجرد اسم مستعار لـ u32. وقد يؤدي هذا النوع دورًا أكثر تميزًا في المستقبل، عندما يمكن ترجمة Cairo إلى MLIR (تمثيل وسيط متعدد المستويات).

القيم الحرفية للأعداد الصحيحة في Cairo

يمكنك كتابة القيم الحرفية للأعداد الصحيحة بأي من الصيغ الموضحة في الجدول أدناه. لاحظ أن القيم الحرفية العددية التي يمكن أن تنتمي إلى أكثر من نوع عددي تقبل لاحقة نوع، مثل 57_u8، لتحديد النوع. كما يمكن استخدام فاصل بصري _ في القيم الحرفية العددية، لتحسين مقروئية الكود.

القيم الحرفية العددية مثال
عشري 98222
ست عشري 0xff
ثماني 0o04321
ثنائي 0b01

فكيف تعرف أي نوع من الأعداد الصحيحة تستخدم؟ جرّب أن تقدّر أكبر قيمة يمكن أن يصل إليها العدد الصحيح لديك، ثم اختر الحجم المناسب. الحالة الأساسية التي تستخدم فيها usize هي عند الفهرسة في نوع من المجموعات.

العمليات العددية

يدعم Cairo العمليات الحسابية الأساسية التي تتوقعها لجميع أنواع الأعداد الصحيحة: الجمع والطرح والضرب والقسمة وباقي القسمة. تُقرّب قسمة الأعداد الصحيحة نحو الصفر إلى أقرب عدد صحيح. يوضح الكود التالي كيفية استخدام كل عملية عددية في عبارة let:

fn main() {
    // addition
    let sum = 5_u128 + 10_u128;

    // subtraction
    let difference = 95_u128 - 4_u128;

    // multiplication
    let product = 4_u128 * 30_u128;

    // division
    let quotient = 56_u128 / 32_u128; // result is 1
    let quotient = 64_u128 / 32_u128; // result is 2

    // remainder
    let remainder = 43_u128 % 5_u128; // result is 3
}

يستخدم كل تعبير في هذه العبارات عاملًا حسابيًا، ويُنتج قيمة واحدة، تُسند بعد ذلك إلى متغير.

يمكن العثور على قائمة بجميع العوامل التي يوفرها Cairo في The Cairo Book.

تعديل عبر GitHub يفتح الرابط في نافذة أو علامة تبويب جديدة

تعلّم الأعداد الصحيحة

التدريب مقفل

افتح تمرينين إضافيين لممارسة الأعداد الصحيحة