حاسبة باقي القسمة (Modulo)
تعيد عملية باقي القسمة (أو “mod”) الباقي بعد القسمة الصحيحة: 17 mod 5 = 2 لأن 17 = 3·5 + 2. وهي جوهر حساب الوقت والتشفير ودوال التجزئة ونمط “كل صف رقم N” في SQL. تقبل هذه الحاسبة معاملات صحيحة أو عشرية، وتعرض ناتج القسمة والباقي بوضوح، وتتعامل مع اختلاف قاعدة الإشارة بين اللغات (% في بايثون ≠ % في C مع الأعداد السالبة).
كيفية حساب a mod b
-
1
أدخل المقسوم (a) والمقسوم عليه (b)
أي أعداد؛ الأعداد العشرية والسالبة مقبولة.
-
2
اختر قاعدة الإشارة
القسمة بالبتر (C، Java، Go)، والقسمة بالتقريب للأسفل (Python، Ruby، والاصطلاح الرياضي).
-
3
اقرأ ناتج القسمة والباقي
a = q·b + r، وفق القاعدة المختارة لإشارة r.
-
4
اطّلع على التعبير الرياضي
تجعل القيم المُعوَّضة كل خطوة واضحة.
اصطلاحان للأعداد السالبة
مع المعاملات الموجبة تتفق كل الاصطلاحات: 17 mod 5 = 2. أما مع الأعداد السالبة فتختلف اللغات:
| اللغة | -17 mod 5 |
الاصطلاح |
|---|---|---|
| Python، Ruby | 3 | تقريب للأسفل |
| C، Java، Go، JS | -2 | بتر |
| كتب الرياضيات | 3 | تقريب للأسفل (غالبًا) |
القسمة بالتقريب للأسفل: يُقرَّب ناتج القسمة نحو −∞. ويحمل الباقي دائمًا إشارة المقسوم عليه: الإشارة نفسها لـ b.
القسمة بالبتر: يُقرَّب ناتج القسمة نحو الصفر. ويحمل الباقي إشارة المقسوم: الإشارة نفسها لـ a.
عندما a = -17 وb = 5:
- البتر: q = -3 (تقريب نحو 0)، r = -17 − (-3)·5 = -2.
- التقريب للأسفل: q = -4 (تقريب نحو -∞)، r = -17 − (-4)·5 = 3.
كلاهما صحيح وفق اصطلاحه. اختر ما يوافق لغتك.
أين تظهر عملية باقي القسمة
- الوقت. الدقائق في الساعة، وأيام الأسبوع، والثواني في اليوم، كلها حساب بالباقي.
- جداول التجزئة. تختار
hash(key) mod table_sizeالحاوية المناسبة. - الجدولة الدورية (round-robin). توزّع
task_i mod worker_countالمهام. - التشفير. تُبنى خوارزميتا RSA وDiffie-Hellman على باقي القسمة على
nبأعداد أولية ضخمة. - كل صف رقم N. في SQL:
WHERE id % 3 = 0. - فحص الزوجي/الفردي.
n mod 2 == 0يعني عددًا زوجيًا. - الأنماط المتناوبة. تخطيط الصفوف، وتلوين كل عنصر بالتناوب.
- المخازن الدائرية. تلتفّ
(index + 1) mod sizeحول الحدود.
متطابقات مفيدة
(a + b) mod n = ((a mod n) + (b mod n)) mod n(a · b) mod n = ((a mod n) · (b mod n)) mod n- يمكن حساب
(a^k) mod nبالرفع الأُسّي المعياري السريع في زمن O(log k)، وهو أساسي لتشفير الأعداد الكبيرة. a mod 1 = 0لأي عدد صحيح a.a mod a = 0.
باقي القسمة العشري
للأعداد الحقيقية، التعريف الطبيعي هو a mod b = a − b · floor(a/b). فـ 7.5 mod 2.5 = 0 لأن 7.5 مضاعف تام، و7.6 mod 2.5 = 0.1.
يعمل المعامل % في JavaScript على الأعداد الحقيقية؛ ويؤدي fmod في Python باقيًا حقيقيًا بالبتر؛ بينما يؤدي % في Python باقيًا حقيقيًا بالتقريب للأسفل.
أمثلة محلولة
100 mod 7: 100 = 14·7 + 2، فالباقي 2.25 mod 4: 25 = 6·4 + 1، فالباقي 1.-10 mod 3(تقريب للأسفل):-10 = -4·3 + 2، الباقي 2. (بالبتر يكون-1.)17.5 mod 5: 17.5 = 3·5 + 2.5، الباقي 2.5.
الأسئلة الشائعة
في الغالب هما مترادفان. رسميًا، كثيرًا ما يعني “modulo” الاصطلاح الرياضي (التقريب للأسفل)، بينما يشير “remainder” غالبًا إلى صيغة البتر (نمط C). وتتسرّب هذه التسميات إلى توثيق اللغات؛ فعند الأهمية حدِّد الاصطلاح صراحةً.
تتبع بايثون الاصطلاح الرياضي (التقريب للأسفل)، فتبقى إشارة الباقي موافقة للمقسوم عليه. وتتبع C اصطلاح وحدة الحساب في العتاد (البتر)، فتوافق إشارة الباقي المقسوم. وليس أحدهما خطأً؛ بل هما خياران مختلفان.
لا؛ القسمة على صفر غير معرّفة. تُظهر الحاسبة خطأً عندما b = 0.
غالبًا نعم. راجع مواصفات لغتك في التعامل مع الأعداد السالبة، تختلف بايثون وروبي عن C وJava وGo وJavaScript.
لرياضيات نمط RSA بأعداد بطول 2048 بت، استخدم مكتبة متخصصة (pow(a, b, n) في بايثون، وBigInteger.modPow في جافا). هذه الحاسبة تتعامل مع القيم اليومية لا مع قيم مستوى التشفير.
أدوات ذات صلة
حاسبة الوقت قبل ساعات
حدد التاريخ والوقت الدقيقين اللذين كانا قبل عدد معين من الساعات من الآن.
حاسبة علم الأعداد
احسب أرقام علم الأعداد المرتبطة بالاسم وفق القيم الفيثاغورية أو الكلدانية: التعبير، رغبة الروح والشخصية.
حاسبة الوقت بعد ساعات من الآن
اعرف الوقت واليوم والتاريخ بدقة بعد عدد محدد من الساعات من الآن، بحسب منطقتك الزمنية، مع اللحظة نفسها بتوقيت UTC.
حاسبة علم أعداد الأسماء
احسب رقم القدر ورقم التعبير من اسمك الكامل وفق نظام فيثاغورس في علم الأعداد، مع قراءة موجزة للشخصية.
حاسبة توافق الأسماء
اكتب اسمين وشاهد كيف تتوافق أرقامهما في علم الأعداد: رقم التعبير ورقم رغبة الروح لكل اسم، مع كل خطوة من الحساب. اكتب الأسماء العربية بالحروف اللاتينية. للتسلية فقط.
حاسبة الطالع
احسب برجك الطالع ودرجته من تاريخ ميلادك ووقته ومكانه، مع المناطق الزمنية التاريخية والتوقيت الصيفي. لا تعرف وقت ميلادك؟ اطّلع على اليوم كله.
الأداة متاحة بلغات أخرى
- 剰余計算機 [JA]
- Modulokalkylator [SV]
- Calculateur de Modulo [FR]
- Modulo-Rechner [DE]
- เครื่องคำนวณโมดูโล (Modulo) [TH]
- Máy tính modulo [VI]
- Calculadora de Módulo [ES]
- Modulo-calculator [NL]
- Kalkulator modulo [PL]
- Kalkulator Modulo [ID]
- 모듈로 계산기 [KO]
- Calculadora de Módulo [PT]
- 取模计算器 [ZH]
- Modulo Calculator [EN]
- Калькулятор остатка от деления [RU]
- Modulo Hesaplayıcı [TR]
- Calcolatore Modulo [IT]