Arduino/arithmetic operators/remainder
يحسب المعامل %
باقي قسمة عددين أحدهما على الآخر. إحدى فوائد استعمال هذا المعامل هي إبقاء قيمة متغير ضمن مجال محدد (مثل حجم مصفوفة).
البنية العامة
remainder = dividend % divisor;
المعاملات
remainder
متغير. الأنواع المسموح بها هي: عدد صحيح، أو عدد عشري، أو عدد عشري مضاعف.
dividend
متغير أو ثابت يمثل المقسوم. الأنواع المسموح بها هي: عدد صحيح.
divisor
متغير أو ثابت يمثل المقسوم عليه. الأنواع المسموح بها هي: عدد صحيح.
أمثلة
مثالٌ على استعمال المعامل %
:
int x = 0;
x = 7 % 5; // 2
x = 9 % 5; // 4
x = 5 % 5; // 0
x = 4 % 5; // 4
x = -4 % 5; // -4
x = 4 % -5; // 4
مثالٌ آخر يوضِّح كيفية تحديث قيم عناصر مصفوفة لتُخزَّن فيها القيم المقروءة من حساس عبر حلقة تكرار:
int values[10];
int i = 0;
void setup() {}
void loop()
{
values[i] = analogRead(0);
i = (i + 1) % 10; // يبقي معامل القسمة المتغير ضمن مجال المصفوفة
ملاحظات وتحذيرات
- لا يعمل المعامل
%
مع الأعداد العشرية. - إن كانت قيمة المقسوم سالبةً، فستكون القيمة الناتجة عن عملية باقي القسمة سالبة (أو صفرية). بناءً على ذلك، لن تكون قيمة
x % 10
بين العدد 0 و 9 دومًا إن كانت قيمةx
سالبةً.