عملية حسابية بسيطة
يتم إدراج العمليات الحسابية العادية في الجدول أدناه:
الجدول 34-3: العوامل الحسابية
وصف المشغل
وصف المشغل
+ إضافة
- طرح
* تضاعف
/ تقسيم صحيح
** الأسي
% مودولو (الباقي)
معظم هذه الأمور واضحة بذاتها، ولكن قسمة الأعداد الصحيحة والمعاملات المعيارية تتطلب مزيدًا من المناقشة.
نظرًا لأن العمليات الحسابية الخاصة بالقشرة تعمل فقط على الأعداد الصحيحة، فإن نتائج القسمة تكون دائمًا أعدادًا صحيحة:
[me @ linuxbox ~] $ صدى $(( 5 / 2 ))
2
[me @ linuxbox ~] $ صدى $(( 5 / 2 ))
2
وهذا يجعل تحديد الباقي في عملية القسمة أكثر أهمية:
[me @ linuxbox ~] $ صدى $(( 5 % 2 ))
1
[me @ linuxbox ~] $ صدى $(( 5 % 2 ))
1
باستخدام عمليات القسمة والتعديل، يمكننا تحديد أن 5 مقسومًا على 2 ينتج عنه 2، مع الباقي 1.
يُعد حساب الباقي مفيدًا في الحلقات. فهو يسمح بتنفيذ عملية على فترات زمنية محددة أثناء تنفيذ الحلقة. في المثال أدناه، نعرض سطرًا من الأرقام، مع إبراز كل مُضاعِف للرقم 5:
#! / بن / باش
# modulo: إظهار عامل modulo لـ ((i = 0؛ i <= 20؛ i = i + 1));
الباقي=$((i % 5))
إذا (( الباقي == 0 )); ثم اطبع "<%d> " $i
آخر
printf "%d " $i
انتهى فاي
printf "\ n"
#! / بن / باش
# modulo: إظهار عامل modulo لـ ((i = 0؛ i <= 20؛ i = i + 1));
الباقي=$((i % 5))
إذا (( الباقي == 0 )); ثم اطبع "<%d> " $i
آخر
printf "%d " $i
انتهى فاي
printf "\ n"
عند التنفيذ ، تبدو النتائج كما يلي:
[me @ linuxbox ~] $ مودولو
<0> 1 2 3 4 <5> 6 7 8 9 <10> 11 12 13 14 <15> 16 17 18 19 <20>
[me @ linuxbox ~] $ مودولو
<0> 1 2 3 4 <5> 6 7 8 9 <10> 11 12 13 14 <15> 16 17 18 19 <20>