مودولو
في الحوسبة والرياضيات ، تُرجع عملية باقي القسمة الباقي أو الباقي الموقّع لعملية القسمة ، بعد قسمة عدد على آخر، ويسمى الأخير باقي القسمة .
بفرض وجود عددين موجبين a و n ، فإن a modulo n (يُختصر غالبًا بـ a mod n ) هو باقي قسمة a على n باستخدام طريقة إقليدس ، حيث a هو المقسوم و n هو المقسوم عليه . [ 1 ]
على سبيل المثال، فإن التعبير "5 mod 2" يُقيّم إلى 1، لأن 5 مقسومة على 2 يكون ناتج قسمتها 2 وباقي قسمتها 1، بينما "9 mod 3" يُقيّم إلى 0، لأن 9 مقسومة على 3 يكون ناتج قسمتها 3 وباقي قسمتها 0.
على الرغم من أن عملية باقي القسمة تُجرى عادةً باستخدام عددين صحيحين a و n ، فإن العديد من أنظمة الحوسبة تسمح الآن بأنواع أخرى من المعاملات العددية. يتراوح نطاق قيم عملية باقي القسمة على n بين 0 و n - 1. ويكون باقي قسمة a على 1 دائمًا 0، بافتراض أن a عدد صحيح.
عندما تكون إحدى القيمتين a أو n سالبة بالضبط، فإن التعريف الأساسي ينهار، وتختلف لغات البرمجة في كيفية تعريف هذه القيم.
صيغ مختلفة للتعريف
في الرياضيات ، تُعرف نتيجة عملية باقي القسمة بفئة التكافؤ ، ويمكن اختيار أي عنصر من عناصر هذه الفئة كممثل لها ؛ إلا أن الممثل المعتاد هو أصغر عدد صحيح غير سالب ينتمي إلى تلك الفئة (أي باقي القسمة الإقليدية ). [ 2 ] مع ذلك، توجد اصطلاحات أخرى ممكنة. تمتلك الحواسيب والآلات الحاسبة طرقًا متنوعة لتخزين الأعداد وتمثيلها؛ لذا فإن تعريفها لعملية باقي القسمة يعتمد على لغة البرمجة أو المكونات المادية الأساسية .
في جميع أنظمة الحوسبة تقريبًا، يكون ناتج القسمة q وباقي القسمة r لـ a مقسومًا علىاستيفاء الشروط التالية:
| 1 |
لا يزال هذا يُبقي على غموض الإشارة إذا كان الباقي غير صفري: إذ يوجد خياران محتملان للباقي، أحدهما سالب والآخر موجب؛ ويُحدد هذا الاختيار أيًّا من ناتجي القسمة المتتاليين يجب استخدامه لتحقيق المعادلة (1). في نظرية الأعداد ، يُختار الباقي الموجب دائمًا، ولكن في الحوسبة، تختار لغات البرمجة الباقي بناءً على اللغة وإشارات a أو n . على سبيل المثال، تُعطي لغتا باسكال القياسية و ALGOL 68 باقيًا موجبًا (أو 0) حتى مع القواسم السالبة، وتترك بعض لغات البرمجة، مثل C90، الأمر للتنفيذ عندما يكون أيٌّ من n أو a سالبًا (انظر الجدول في قسم " في لغات البرمجة " لمزيد من التفاصيل). بعض الأنظمة لا تُعرّف باقي قسمة a على 0، بينما تُعرّفه أنظمة أخرى على أنه a .

الناتج ( q ) والباقي ( r ) كدوال للمقسوم ( a )، باستخدام القسمة المقتطعة تستخدم العديد من التطبيقات القسمة المقتطعة ، والتي يتم تعريف ناتج القسمة فيها بواسطة أينهي دالة الجزء الصحيح ( التقريب نحو الصفر )، أي التقريب إلى الصفر من الأرقام المعنوية. وبالتالي، وفقًا للمعادلة ( 1 )، يكون للباقي نفس إشارة المقسوم a، لذا يمكن أن يأخذ 2| n | - 1 قيمة.

الناتج والباقي باستخدام القسمة الصحيحة يروج دونالد كنوث [ 3 ] للقسمة المُقَرَّبة ، والتي يُعرَّف ناتج قسمتها بواسطة أينهي دالة الجزء الصحيح ( التقريب إلى الأسفل ). وبالتالي، وفقًا للمعادلة ( 1 )، فإن الباقي له نفس إشارة المقسوم عليه n :

الناتج والباقي باستخدام القسمة الإقليدية يروج ريموند تي. بوت [ 4 ] للقسمة الإقليدية ، والتي يكون باقيها غير سالبيتم تعريفها بواسطة (تم إضافة التأكيد). وفقًا لهذا التعريف، يمكننا قول ما يلي عن ناتج القسمة: حيث sgn هي دالة الإشارة ،هي دالة التقريب إلى الأسفل ( التقريب إلى أقرب عدد صحيح أصغر )، و،هي أعداد نسبية .
وبصورة مكافئة، يمكن للمرء بدلاً من ذلك تعريف ناتج القسمةعلى النحو التالي: أينهي دالة السقف ( التقريب لأعلى ). وبالتالي، وفقًا للمعادلة ( 1 )، يكون الباقيغير سالب :

الناتج والباقي باستخدام القسمة المقربة تستخدم لغة Common Lisp ومعيار IEEE 754 القسمة التقريبية ، والتي يتم تعريف ناتج القسمة فيها بواسطة حيث أن دالة التقريب هي دالة التقريب ( تقريب النصف إلى عدد زوجي ). وبالتالي، وفقًا للمعادلة ( 1 )، يقع الباقي بينووتعتمد إشارتها على أي جانب من الصفر يقع ضمن هذه الحدود:

الناتج والباقي باستخدام القسمة على السقف تستخدم لغة Common Lisp أيضًا قسمة السقف ، والتي يتم تعريف ناتج قسمتها بواسطة حيث ⌈⌉ هي دالة السقف ( التقريب لأعلى ). وبالتالي، وفقًا للمعادلة ( 1 )، فإن الباقي له إشارة معاكسة لإشارة المقسوم عليه :
إذا كان كل من المقسوم والمقسوم عليه موجبين، فإن تعريفات التقريب المقتطع، والتقريب إلى أقرب عدد صحيح، والتقريب الإقليدي تتفق. إذا كان المقسوم موجبًا والمقسوم عليه سالبًا، فإن تعريفات التقريب المقتطع والتقريب الإقليدي تتفق. إذا كان المقسوم سالبًا والمقسوم عليه موجبًا، فإن تعريفات التقريب إلى أقرب عدد صحيح والتقريب الإقليدي تتفق. إذا كان كل من المقسوم والمقسوم عليه سالبين، فإن تعريفات التقريب المقتطع والتقريب إلى أقرب عدد صحيح تتفق.
الترميز
تحتوي بعض الآلات الحاسبة على زر دالة mod() ، كما تحتوي العديد من لغات البرمجة على دالة مشابهة، تُكتب على سبيل المثال mod( a , n ) . وتدعم بعضها أيضًا تعابير تستخدم "%" أو "mod" أو "Mod" كعامل باقي القسمة أو الباقي ، مثل أو .a % na mod n
بالنسبة للبيئات التي تفتقر إلى وظيفة مماثلة، يمكن استخدام أي من التعريفات الثلاثة المذكورة أعلاه.
الأخطاء الشائعة
عندما تكون نتيجة عملية حساب باقي القسمة هي إشارة المقسوم (تعريف مختصر)، فقد يؤدي ذلك إلى أخطاء مفاجئة.
على سبيل المثال، لاختبار ما إذا كان عدد صحيح فرديًا ، قد يميل المرء إلى اختبار ما إذا كان باقي قسمة العدد على 2 يساوي 1:
bool is_odd ( int n ) { return n % 2 == 1 ; }لكن في لغة يكون فيها modulo له إشارة المقسوم، فإن ذلك غير صحيح، لأنه عندما يكون n (المقسوم) سالبًا وفرديًا، فإن n mod 2 يُرجع -1، وتُرجع الدالة خطأ.
أحد البدائل الصحيحة هو اختبار أن الباقي ليس صفرًا (لأن الباقي صفر هو نفسه بغض النظر عن الإشارات):
bool is_odd ( int n ) { return n % 2 != 0 ; }أو باستخدام الحساب الثنائي:
bool is_odd ( int n ) { return n & 1 ; }مشاكل الأداء
يمكن تنفيذ عمليات باقي القسمة بحيث يتم حساب باقي القسمة في كل مرة. في حالات خاصة، وعلى بعض الأجهزة، توجد بدائل أسرع. على سبيل المثال، يمكن التعبير عن باقي قسمة قوى العدد 2 كعملية AND منطقية (بافتراض أن x عدد صحيح موجب، أو باستخدام تعريف غير مقتطع):
x % 2n == x & (2n - 1)
أمثلة:
x % 2 == x & 1x % 4 == x & 3x % 8 == x & 7
في الأجهزة والبرامج التي تنفذ عمليات البت بكفاءة أكبر من عملية باقي القسمة، يمكن أن تؤدي هذه الأشكال البديلة إلى حسابات أسرع. [ 7 ]
قد تتعرف تحسينات المُصرّف على التعبيرات من الشكل حيث يُمثل قوة للعدد اثنين، وتُنفذها تلقائيًا على النحو التالي: ، مما يسمح للمبرمج بكتابة كود أكثر وضوحًا دون التأثير على الأداء. هذا التحسين البسيط غير ممكن في اللغات التي يكون فيها ناتج عملية باقي القسمة مُطابقًا لإشارة المقسوم (بما في ذلك C )، إلا إذا كان المقسوم عددًا صحيحًا غير مُوقّع . وذلك لأنه إذا كان المقسوم سالبًا، فسيكون باقي القسمة سالبًا أيضًا، بينما سيكون دائمًا موجبًا. في هذه اللغات، يجب استخدام التكافؤ بدلًا من ذلك، والذي يُعبّر عنه باستخدام عمليات OR وNOT وAND على مستوى البت.expression % constantconstantexpression & (constant-1)expression & (constant-1)x % 2n == x < 0 ? x | ~(2n - 1) : x & (2n - 1)
توجد أيضًا تحسينات لعمليات المعامل الثابت العامة عن طريق حساب القسمة أولاً باستخدام تحسين القاسم الثابت .
الخصائص (الهويات)
يمكن تحليل بعض عمليات حساب باقي القسمة أو توسيعها على غرار العمليات الرياضية الأخرى. قد يكون هذا مفيدًا في براهين التشفير ، مثل تبادل مفاتيح ديفي-هيلمان . تتطلب الخصائص المتعلقة بالضرب والقسمة والأس عمومًا أن يكون كل من a و n عددين صحيحين.
- هوية:
- ( a mod n ) mod n = a mod n .
- n x mod n = 0 لجميع القيم الصحيحة الموجبة لـ x .
- إذا كان p عددًا أوليًا ليس قاسمًا لـ b ، فإن ab p −1 mod p = a mod p ، وذلك بسبب نظرية فيرما الصغرى .
- معكوس:
- [(− a mod n ) + ( a mod n )] mod n = 0 .
- b −1 mod n يرمز إلى المعكوس الضربي المعياري ، والذي يتم تعريفه إذا وفقط إذا كان b و n أوليين نسبيًا ، وهو الحال عندما يتم تعريف الجانب الأيسر: [( b −1 mod n )( b mod n )] mod n = 1 .
- التوزيعي:
- ( أ + ب ) mod ن = [( أ mod ن ) + ( ب mod ن )] mod ن .
- ab mod n = [( a mod n )( b mod n )] mod n .
- القسمة (التعريف): a / b mod n = [( a mod n )( b −1 mod n )] mod n ، عندما يكون الجانب الأيمن معرفًا (أي عندما يكون b و n أوليين فيما بينهما )، وغير معرف خلاف ذلك.
- الضرب العكسي: [( ab mod n )( b −1 mod n )] mod n = a mod n .
في لغات البرمجة
| لغة | المشغل | عدد صحيح | الفاصلة العائمة | تعريف |
|---|---|---|---|---|
| ABAP | MOD | نعم | نعم | إقليدي [ 8 ] |
| أكشن سكريبت | % | نعم | نعم | مختصر [ 9 ] |
| آدا | mod | نعم | لا | مُنهك [ 10 ] |
rem | نعم | لا | مختصر [ 10 ] | |
| ALGOL 68 | ÷×، ÷*، %×، %*، mod[ ب ] | نعم | لا | إقليدي [ 11 ] |
| AMPL | mod | نعم | لا | مختصر |
| APL | |[ ج ] | نعم | نعم | مذهول |
| أبل سكريبت | mod | نعم | نعم | مختصر |
| أوتو ليسب | rem | نعم | نعم | مختصر |
| أوك | % | نعم | نعم | مختصر (كما هو الحال fmodفي C) [ 12 ] |
| أساسي | Mod | نعم | لا | يختلف ذلك باختلاف طريقة التنفيذ |
| قبل الميلاد | % | نعم | نعم | مختصر [ 13 ] |
| سي سي++ | %،div | نعم | لا | مختصر [ د ] |
fmod(ج) std::fmod(ج++) | لا | نعم | مختصر [ 16 ] | |
remainder(ج) std::remainder(ج++) | لا | نعم | مُقَرَّب [ 17 ] | |
| سي شارب | % | نعم | نعم | مختصر [ 18 ] |
Math.IEEERemainder | لا | نعم | مُقَرَّب [ 19 ] | |
| كلاريون | % | نعم | لا | مختصر |
| ينظف | rem | نعم | لا | مختصر |
| كلوجر | mod | نعم | لا | مُنهك [ 20 ] |
rem | نعم | لا | مختصر [ 21 ] | |
| كوبول | FUNCTION MOD | نعم | لا | مُنهك [ 22 ] |
FUNCTION REM | نعم | نعم | مختصر [ 22 ] | |
| كوفي سكريبت | % | نعم | لا | مختصر |
%% | نعم | لا | مُنهك [ 23 ] | |
| كولد فيوجن | %،MOD | نعم | لا | مختصر |
| لغة وسيطة مشتركة | rem(موقع) | نعم | نعم | مختصر [ 24 ] |
rem.un(بدون توقيع) | نعم | لا | غير متوفر | |
| لغة الشفرة الشائعة | mod | نعم | نعم | مُنهك [ 25 ] |
rem | نعم | نعم | مختصر [ 25 ] | |
| كريستال | %،modulo | نعم | نعم | مذهول |
remainder | نعم | نعم | مختصر | |
| CSS | mod() | نعم | نعم | مُنهك [ 26 ] |
rem() | نعم | نعم | مختصر [ 27 ] | |
| د | % | نعم | نعم | مختصر [ 28 ] |
| دارت | % | نعم | نعم | إقليدي [ 29 ] |
remainder() | نعم | نعم | مختصر [ 30 ] | |
| العاصمة واشنطن | % | نعم | نعم | مختصر [ 31 ] |
| إيفل | \\ | نعم | لا | مختصر |
| إكسير | rem/2 | نعم | لا | مختصر [ 32 ] |
Integer.mod/2 | نعم | لا | مُنهك [ 33 ] | |
| إلم | modBy | نعم | لا | مُنهك [ 34 ] |
remainderBy | نعم | لا | مختصر [ 35 ] | |
| إرلانغ | rem | نعم | لا | مختصر |
math:fmod/2 | لا | نعم | مختصر (نفس C) [ 36 ] | |
| نشوة | remainder | نعم | نعم | مختصر [ 37 ] |
mod | نعم | نعم | مُنهك [ 38 ] | |
| فا# | % | نعم | نعم | مختصر (كما هو الحال في لغة C#) [ 39 ] |
Math.IEEERemainder | لا | نعم | مُقَرَّب [ 19 ] | |
| عامل | mod | نعم | نعم | مختصر [ 40 ] |
rem | نعم | نعم | إقليدي [ 41 ] | |
| FileMaker | Mod | نعم | لا | مذهول |
| إلى الأمام | mod | نعم | لا | تم تحديد التنفيذ |
fm/mod | نعم | لا | مذهول | |
sm/rem | نعم | لا | مختصر | |
| فورتران | mod | نعم | نعم | مختصر [ 42 ] |
modulo | نعم | نعم | مُنهك [ 43 ] | |
| فرينك | mod | نعم | لا | مذهول |
| المستوى الأساسي الكامل | MOD | نعم | نعم | مُنهك [ 44 ] |
REMAINDER | نعم | نعم | مختصر [ 45 ] | |
| GLSL | % | نعم | لا | غير محدد [ 46 ] |
mod | لا | نعم | مُنهك [ 47 ] | |
| استوديو GameMaker (GML) | mod،% | نعم | لا | مختصر |
| GDScript (Godot) | % | نعم | لا | مختصر [ 48 ] |
posmod | نعم | لا | إقليدي [ 49 ] | |
fmod | لا | نعم | مختصر [ 50 ] | |
fposmod | لا | نعم | إقليدي [ 51 ] | |
| يذهب | % | نعم | لا | مختصر [ 52 ] |
math.Mod | لا | نعم | مختصر [ 53 ] | |
big.Int.Mod | نعم | لا | إقليدي [ 54 ] | |
big.Int.Rem | نعم | لا | مختصر [ 55 ] | |
| رائع | % | نعم | لا | مختصر |
| هاسكل | mod | نعم | لا | مُنهك [ 56 ] |
rem | نعم | لا | مختصر [ 56 ] | |
Data.Fixed.mod'( GHC ) | لا | نعم | مذهول | |
| هاكس | % | نعم | نعم | مختصر [ 57 ] |
| HLSL | % | نعم | نعم | غير محدد [ 58 ] |
| ج | |[ ج ] | نعم | لا | مذهول |
| جافا | % | نعم | نعم | مختصر [ 59 ] |
Integer.remainderUnsigned،Long.remainderUnsigned | نعم | لا | غير متوفر [ 60 ] [ 61 ] | |
Math.ceilMod،StrictMath.ceilMod | نعم | لا | السقف [ 62 ] [ 63 ] [ 64 ] [ 65 ] [ 66 ] [ 67 ] | |
Math.floorMod،StrictMath.floorMod | نعم | لا | [ 68 ] [ 69 ] [ 70 ] [ 71 ] [ 72 ] [ 73 ] | |
Math.IEEEremainder،StrictMath.IEEEremainder | لا | نعم | مُقَرَّب [ 74 ] [ 75 ] | |
a.mod(b)( BigInteger) | نعم | لا | إقليدي [ 76 ] | |
a.remainder(b)( BigInteger) | نعم | لا | مختصر [ 77 ] | |
a.remainder(b)، ( )a.remainder(b, mathContext)BigDecimal | لا | نعم | مختصر [ 78 ] [ 79 ] | |
| جافا سكريبت تايب سكريبت | % | نعم | نعم | مختصر |
| جوليا | mod | نعم | نعم | مُنهك [ 80 ] |
%،rem | نعم | نعم | مختصر [ 81 ] | |
| كوتلين | %،rem | نعم | نعم | مختصر [ 82 ] |
mod | نعم | نعم | مُنهك [ 83 ] | |
| كش | % | نعم | لا | مختصر (كما هو الحال في POSIX sh) |
fmod | لا | نعم | مختصر | |
| LabVIEW | mod | نعم | نعم | مختصر |
| ليبر أوفيس | MOD | نعم | نعم | مُنهك [ 84 ] |
| الشعار | MODULO | نعم | لا | مذهول |
REMAINDER | نعم | لا | مختصر | |
| لوا 5 | % | نعم | نعم | مذهول |
| لوا 4 | mod(x,y) | نعم | نعم | مختصر |
| ليبرتي بيسك | MOD | نعم | لا | مختصر |
| ماثكاد | mod(x,y) | نعم | لا | مذهول |
| خشب القيقب | e mod m(افتراضياً)،modp(e, m) | نعم | لا | إقليدي |
mods(e, m) | نعم | لا | مستدير | |
frem(e, m) | نعم | نعم | مستدير | |
| ماثيماتيكا | Mod[a, b] | نعم | نعم | مُنهك [ 85 ] |
| MATLAB | mod | نعم | نعم | مُنهك [ 86 ] |
rem | نعم | نعم | مختصر [ 87 ] | |
| ماكسيما | mod | نعم | لا | مذهول |
remainder | نعم | لا | مختصر | |
| لغة مايا المضمنة | % | نعم | لا | مختصر |
fmod | لا | نعم | مختصر (نفس C) [ 88 ] | |
| مايكروسوفت إكسل | MOD | نعم | نعم | مُنهك [ 89 ] |
| برنامج Minitab | MOD | نعم | لا | مذهول |
| مودولا-2 | MOD | نعم | لا | مذهول |
REM | نعم | لا | مختصر | |
| النكاف | # | نعم | لا | مُنهك [ 90 ] |
| مُجمِّع الشبكة ( NASM ، NASMX ) | %( divبدون توقيع) | نعم | لا | غير متوفر |
%%(موقع) | نعم | لا | [ 91 ] محدد بالتنفيذ | |
| نيم | mod | نعم | نعم | مختصر [ 92 ] [ 93 ] |
floorMod | نعم | نعم | مُنهك [ 94 ] | |
| أوبرون | MOD | نعم | لا | [ هـ ] |
| أوبجكتيف سي | % | نعم | لا | مختصر (كما هو الحال في C99) |
| أوبجكت باسكال ، دلفي | mod | نعم | لا | مختصر |
| أوكاميل | mod | نعم | لا | مختصر [ 95 ] |
mod_float | لا | نعم | مختصر [ 96 ] | |
| أوكام | \ | نعم | لا | مختصر |
| باسكال (ISO-7185 و-10206) | mod | نعم | لا | شبيهة بإقليدس [ f ] |
| بيرل | % | نعم | لا | مُسْتَطَهَّر [ g ] |
POSIX::fmod | لا | نعم | مختصر (نفس C) [ 98 ] | |
| PHP | % | نعم | لا | مختصر [ 99 ] |
fmod | لا | نعم | مختصر [ 100 ] | |
| بيك بيسك برو | \\ | نعم | لا | مختصر |
| PL/I | mod | نعم | لا | أرضي (ANSI PL/I) |
| باور شيل | % | نعم | لا | مختصر |
| شفرة البرمجة ( PRC ) | MATH.OP - 'MOD; (\)' | نعم | لا | غير محدد |
| تقدم | modulo | نعم | لا | مختصر |
| مقدمة | mod | نعم | لا | مذهول |
rem | نعم | لا | مختصر | |
| بيور بيسك | %،Mod(x,y) | نعم | لا | مختصر |
| بيور سكريبت | `mod` | نعم | لا | إقليدي [ 101 ] |
| بيور داتا | % | نعم | لا | مختصر (نفس C) |
mod | نعم | لا | مذهول | |
| بايثون | % | نعم | نعم | مُنهك [ 102 ] |
math.fmod | لا | نعم | مختصر [ 103 ] | |
math.remainder | لا | نعم | تم تقريبها [ 104 ] | |
| س# | % | نعم | لا | مختصر [ 105 ] |
| R | %% | نعم | نعم | مُنهك [ 106 ] |
| مضرب | modulo | نعم | لا | مذهول |
remainder | نعم | لا | مختصر | |
| راكو | % | لا | نعم | مذهول |
| RealBasic | MOD | نعم | لا | مختصر |
| سبب | mod | نعم | لا | مختصر |
| ريكس | // | نعم | نعم | مختصر |
| لعبة تقمص الأدوار | %REM | نعم | لا | مختصر |
| روبي | %،modulo() | نعم | نعم | مذهول |
remainder() | نعم | نعم | مختصر | |
| الصدأ | % | نعم | نعم | مختصر [ 107 ] |
rem_euclid() | نعم | نعم | إقليدي [ 108 ] | |
| ساس | MOD | نعم | لا | مختصر |
| سكالا | % | نعم | نعم | مختصر |
| مخطط | modulo | نعم | لا | مذهول |
remainder | نعم | لا | مختصر | |
| المخطط R 6 RS | mod | نعم | لا | إقليدي [ 109 ] |
mod0 | نعم | لا | تم تقريبها [ 109 ] | |
flmod | لا | نعم | إقليدي | |
flmod0 | لا | نعم | مستدير | |
| يخدش | mod | نعم | نعم | مذهول |
| سيد7 | mod | نعم | نعم | مذهول |
rem | نعم | نعم | مختصر | |
| سينس توك | modulo | نعم | لا | مذهول |
rem | نعم | لا | مختصر | |
sh(POSIX) (يشمل bash و mksh وما إلى ذلك) | % | نعم | لا | مختصر (نفس C) [ 110 ] |
| أحاديث قصيرة | \\ | نعم | نعم | مُخَطَّط [ 111 ] : القسم 5.6.2.9 |
rem: | نعم | نعم | مقتطع [ 111 ] : القسم 5.6.2.30 | |
| فرقعة! | mod | نعم | لا | مذهول |
| يلف | // | نعم | لا | مذهول |
| صلابة | % | نعم | لا | مختصر [ 112 ] |
| SQL ( SQL:1999 ) | mod(x,y) | نعم | لا | مختصر |
| SQL ( SQL:2011 ) | % | نعم | لا | مختصر |
| لغة الآلة القياسية | mod | نعم | لا | مذهول |
Int.rem | نعم | لا | مختصر | |
Real.rem | لا | نعم | مختصر | |
| برنامج ستاتا | mod(x,y) | نعم | لا | إقليدي |
| سويفت | % | نعم | لا | مختصر [ 113 ] |
remainder(dividingBy:) | لا | نعم | مُقَرَّب [ 114 ] | |
truncatingRemainder(dividingBy:) | لا | نعم | مختصر [ 115 ] | |
| تي سي إل | expr a % n، [ ح ]::tcl::mathop::% an | نعم | لا | [ 117 ] [ 118 ] |
expr fmod(a, n)، [ أنا ]::tcl::mathfunc::fmod an | لا | نعم | مختصر (نفس C) | |
| tcsh | % | نعم | لا | مختصر |
| عزم الدوران | % | نعم | لا | مختصر |
| تورينج | mod | نعم | لا | مذهول |
| فيريلوج (2001) | % | نعم | لا | مختصر |
| لغة VHDL | mod | نعم | لا | مذهول |
rem | نعم | لا | مختصر | |
| VimL | % | نعم | لا | مختصر |
| فيجوال بيسك | Mod | نعم | لا | مختصر |
| WebAssembly | i32.rem_u( i64.rem_uبدون توقيع) | نعم | لا | غير متوفر [ 120 ] |
i32.rem_s، i64.rem_s(موقع) | نعم | لا | مختصر [ 120 ] | |
| تجميع x86 | DIV(بدون توقيع) | نعم | لا | غير متوفر |
IDIV(موقع) | نعم | لا | مختصر | |
FPREM | لا | نعم | مختصر | |
FPREM1 | لا | نعم | مستدير | |
| XBase++ | % | نعم | نعم | مختصر |
Mod() | نعم | نعم | مذهول | |
| زيج | %،@rem | نعم | نعم | مختصر [ 121 ] |
@mod | نعم | نعم | مذهول | |
| برنامج إثبات نظرية Z3 | div،mod | نعم | لا | إقليدي |
بالإضافة إلى ذلك، توفر العديد من أنظمة الحاسوب divmodوظيفةً تُنتج ناتج القسمة والباقي في آنٍ واحد. ومن الأمثلة على ذلك تعليمات x86DIV ، ودالة IDIVلغة البرمجة C div()، ودالة بايثونdivmod() .
التعميمات
موديولو مع إزاحة
أحيانًا يكون من المفيد أن تقع نتيجة باقي قسمة العدد n ليس بين 0 و n − 1 ، بل بين عدد ما d و d + n − 1. في هذه الحالة، يُسمى d إزاحة ، ويكون d = 1 شائعًا بشكل خاص.
لا يبدو أن هناك ترميزًا قياسيًا لهذه العملية، لذا دعونا نستخدم مؤقتًا a mod d n . وبالتالي، لدينا التعريف التالي: [ 122 ] x = a mod d n فقط في حالة d ≤ x ≤ d + n − 1 و x mod n = a mod n . من الواضح أن عملية باقي القسمة المعتادة تُقابل إزاحة صفرية: a mod n = a mod 0 n .
ترتبط عملية باقي القسمة مع الإزاحة بدالة الجزء الصحيح كما يلي:
لرؤية ذلك، دعسنُبين أولاً أن x mod n = a mod n . وبشكل عام، فإن ( a + bn ) mod n = a mod n لجميع الأعداد الصحيحة b ؛ وبالتالي، فإن هذا صحيح أيضاً في الحالة الخاصة عندمالكن هذا يعني أنوهذا ما أردنا إثباته. يبقى أن نُثبت أن d ≤ x ≤ d + n − 1. ليكن k و r عددين صحيحين بحيث يكون a − d = kn + r حيث 0 ≤ r ≤ n − 1 (انظر القسمة الإقليدية ). عندئذٍ، هكذاالآن، خذ 0 ≤ r ≤ n − 1 وأضف d إلى كلا الطرفين، لتحصل على d ≤ d + r ≤ d + n − 1. لكننا رأينا أن x = d + r ، لذا فقد انتهينا.
يتم تنفيذ عملية حساب باقي القسمة مع الإزاحة a mod d n في برنامج Mathematica على النحو التالي Mod[a, n, d]: [ 122 ]
تطبيق تعريفات باقي القسمة الأخرى باستخدام الاقتطاع
على الرغم من الأناقة الرياضية لقسمة كنوت المُقَرَّبة والقسمة الإقليدية، إلا أنه من الشائع عمومًا إيجاد باقي قسمة مُقَطَّعة في لغات البرمجة. يقدم ليجن الخوارزميات التالية لحساب القسمتين عند إعطاء قسمة عدد صحيح مُقَطَّعة:
/* دالة القسمة الإقليدية والأرضية، على غرار دالة ldiv() في لغة C */ typedef struct { /* هذا الهيكل جزء من مكتبة C القياسية stdlib.h، ولكن تم إعادة إنتاجه هنا للتوضيح */ long int quot ; long int rem ; } ldiv_t ;/* القسمة الإقليدية */ inline ldiv_t ldivE ( long numer , long denom ) { /* تُعرّف لغتا C99 و C++11 كلا هذين العددين على أنهما قسمة اقتطاعية. */ long q = numer / denom ; long r = numer % denom ; if ( r < 0 ) { if ( denom > 0 ) { q = q - 1 ; r = r + denom ; } else { q = q + 1 ; r = r - denom ; } } return ( ldiv_t ){. quot = q , . rem = r }; }/* القسمة على أقرب عدد صحيح */ inline ldiv_t ldivF ( long numer , long denom ) { long q = numer / denom ; long r = numer % denom ; if (( r > 0 && denom < 0 ) || ( r < 0 && denom > 0 )) { q = q - 1 ; r = r + denom ; } return ( ldiv_t ){. quot = q , . rem = r }; }في كلتا الحالتين، يمكن حساب الباقي بشكل مستقل عن ناتج القسمة، ولكن ليس العكس. تم دمج العمليات هنا لتوفير مساحة على الشاشة، لأن الفروع المنطقية متطابقة.
انظر أيضاً
- Modulo (توضيح) - العديد من استخدامات كلمة modulo ، وكلها نشأت من نهج كارل ف. جاوس في الحساب النمطي في عام 1801.
- Modulo (الرياضيات) ، الاستخدام العام للمصطلح في الرياضيات
- الأس المعياري
- استدر (زاوية)
ملحوظات
- ↑ من الناحية الرياضية، هذان الخياران ليسا سوى اثنين من العدد اللانهائي من الخيارات المتاحة للمتباينة التي يحققها الباقي .
- ↑ يستخدم التقرير المنقح الخط الغامق للتمييز بين الكلمات الرئيسية والمعرفات، ولكنه يسمح بتنسيقات أخرى، بما في ذلك استخدام الأحرف الكبيرة (على سبيل المثال
MOD). - 1 2 ينعكس ترتيب الوسائط، أي
α|ωيتم الحساب، الباقي عند القسمةωعلىα. - ↑ تحدد معايير C99 و C++11 سلوك
%اقتطاع البيانات. [ 14 ] أما المعايير السابقة فتترك هذا السلوك للتنفيذ. [ 15 ] - ↑ يجب أن يكون المقسوم عليه موجباً، وإلا فهو غير معرف.
- ↑ كما ناقش بوت، فإن تعريفات ISO Pascal لـ
divوmodلا تخضع لهوية القسمة D = d · ( D / d ) + D % d ، وبالتالي فهي معطلة بشكل أساسي. - ↑ عادةً ما تستخدم لغة بيرل عامل باقي القسمة الحسابي الذي لا يعتمد على نوع الجهاز. للاطلاع على أمثلة واستثناءات، راجع توثيق بيرل حول عوامل الضرب. [ 97 ]
- ↑ يتم تعريف الأمر بشكل مستقل عن الأوامر الموجودة في نطاقالاسم. [ 116 ]
expr::tcl::mathop - ↑ يتم تعريف الأمر
exprمن حيث الأوامر الموجودة في نطاق::tcl::mathfuncالاسم. [ 119 ]
مراجع
- ↑ وايسشتاين، إريك دبليو. "التطابق" . وولفرام ماث وورلد . تم الاسترجاع في 27 أغسطس 2020 .
- ↑ كالدول، كريس. "بقايا" . معجم برايم . تم الاسترجاع في 27 أغسطس 2020 .
- ↑ كنوت، دونالد إي. (1972). فن برمجة الحاسوب . أديسون-ويسلي.
- ↑ بوت، ريموند ت. (أبريل 1992). "التعريف الإقليدي للدالتين div و mod" . معاملات ACM في لغات البرمجة والأنظمة . 14 (2). مطبعة ACM (نيويورك، نيويورك، الولايات المتحدة الأمريكية): 127-144 . doi : 10.1145/128861.128862 . hdl : 1854/LU-314490 . S2CID 8321674 .
- ↑ بيترسون، دكتور (5 يوليو 2001). "دالة باقي القسمة والأعداد السالبة" . منتدى الرياضيات - اسأل دكتور الرياضيات . مؤرشف من الأصل في 22 أكتوبر 2019. تم الاطلاع عليه في 22 أكتوبر 2019 .
- ↑ "Ada 83 LRM، القسم 4.5: المعاملات وتقييم التعبيرات" . archive.adaic.com . تم الاطلاع عليه بتاريخ 2025-03-03 .
- ↑ هورفاث، آدم (5 يوليو 2012). "قسمة أسرع وعملية باقي القسمة - قوة الاثنين" .
- ↑ "توثيق الكلمات المفتاحية في لغة ABAP" . help.sap.com . 2024. تم الاطلاع عليه بتاريخ 18-01-2026 .
- ↑ "المشغلون - مرجع واجهة برمجة تطبيقات Adobe ActionScript® 3 (AS3)" . help.adobe.com . تم الاطلاع عليه بتاريخ 19-01-2026 .
- 1 2 ISO/IEC 8652:2012 - تكنولوجيا المعلومات - لغات البرمجة - Ada . ISO ، IEC . 2012. القسم 4.5.5 عوامل الضرب.
- ↑ التقرير المنقح حول لغة الخوارزميات Algol 68. IFIP WG2.1 . 1973. القسم 10.2.3.3.ن.
- ↑ "awk" . pubs.opengroup.org . تم الاطلاع عليه بتاريخ 19-01-2026 .
- ↑ "bc" . pubs.opengroup.org . تم الاطلاع عليه بتاريخ 23-05-2026 .
- ↑ "مواصفات C99 (ISO/IEC 9899:TC2)" (ملف PDF) . 2005-05-06. القسم 6.5.5 عوامل الضرب . تم الاطلاع عليه بتاريخ 16 أغسطس 2018 .
- ↑ ISO/IEC 14882:2003: لغات البرمجة - C++ . المنظمة الدولية للتوحيد القياسي (ISO)، اللجنة الكهروتقنية الدولية (IEC). 2003. القسم 5.6.4. يُنتج عامل النسبة المئوية
الثنائي (
%) باقي قسمة التعبير الأول على الثاني. .... إذا كان كلا المعاملين غير سالبين، فإن الباقي يكون غير سالب؛ وإلا، فإن إشارة الباقي تُحدد حسب التنفيذ.
- ↑ ISO/IEC 9899:1990: لغات البرمجة – C. ISO ، IEC . 1990. القسم 7.5.6.4. تُرجع
الدالة
fmod
القيمة
x - i * y ، حيث
i
عدد صحيح
بحيث إذا كانت
y
غير صفرية، فإن النتيجة لها نفس إشارة
x
وقيمتها المطلقة أقل من قيمة
y
المطلقة .
- ↑ ISO/IEC 9899:1999: لغات البرمجة — C. ISO ، IEC . 1999. القسم 7.12.10.2. تحسب
الدوال
الباقي
المطلوب بموجب IEC 60559.
remainderx REM y - ↑ "التعبيرات - مواصفات لغة C#" . learn.microsoft.com . تم الاطلاع عليه بتاريخ 19 يناير 2026 .
- 1 2 dotnet-bot. "Math.IEEERemainder(Double, Double) Method (System)" . Microsoft Learn . تم الاسترجاع في 4 أكتوبر 2022 .
- ↑ "clojure.core - توثيق واجهة برمجة تطبيقات Clojure v1.10.3" . clojure.github.io . تم الاطلاع عليه بتاريخ 16 مارس 2022 .
- ↑ "clojure.core - توثيق واجهة برمجة تطبيقات Clojure v1.10.3" . clojure.github.io . تم الاطلاع عليه بتاريخ 16 مارس 2022 .
- 1 2 ISO/IEC JTC 1/SC 22/WG 4 (يناير 2023). ISO/IEC 1989:2023 – لغة البرمجة كوبول . ISO .
- ↑ عوامل تشغيل CoffeeScript
- ↑ ISO/IEC JTC 1/SC 22 (فبراير 2012). ISO/IEC 23271:2012 — تكنولوجيا المعلومات — البنية التحتية للغة المشتركة (CLI) . ISO . §§ III.3.55–56.
- 1 2 "CLHS: Function MOD, REM" . www.lispworks.com . تم الاطلاع عليه بتاريخ 2026-01-20 .
- ↑ "mod() - CSS: Cascading Style Sheets | MDN" . developer.mozilla.org . 2024-06-22 . تم الاطلاع عليه بتاريخ 2024-10-23 .
- ↑ "rem() - CSS: Cascading Style Sheets | MDN" . developer.mozilla.org . 2024-10-15 . تم الاطلاع عليه بتاريخ 2024-10-23 .
- ↑ "التعبيرات - لغة البرمجة D" . dlang.org . تم الاطلاع عليه بتاريخ 2021-06-01 .
- ↑ "operator % method - num class - dart:core library - Dart API" . api.dart.dev . تم الاسترجاع في 2021-06-01 .
- ↑ "طريقة الباقي - فئة الرقم - مكتبة دارت: الأساسية - واجهة برمجة تطبيقات دارت" . api.dart.dev . تم الاسترجاع في 2021-06-01 .
- ↑ "dc، آلة حاسبة ذات دقة اختيارية" . www.gnu.org . مؤرشف من الأصل بتاريخ 10 ديسمبر 2025. تم الاطلاع عليه بتاريخ 23 مايو 2026 .
- ↑ "Kernel — Elixir v1.11.3" . hexdocs.pm . تم الاطلاع عليه بتاريخ 28-01-2021 .
- ↑ "Integer — Elixir v1.11.3" . hexdocs.pm . تم الاطلاع عليه بتاريخ 28-01-2021 .
- ↑ "الأساسيات - النواة 1.0.5" . package.elm-lang.org . تم الاطلاع عليه بتاريخ 16-03-2022 .
- ↑ "الأساسيات - النواة 1.0.5" . package.elm-lang.org . تم الاطلاع عليه بتاريخ 16-03-2022 .
- ↑ "Erlang -- math" . erlang.org . تم الاطلاع عليه بتاريخ 2021-06-01 .
- ↑ "OpenEuphoria: Euphoria v4.0" . openeuphoria.org . تم الاطلاع عليه بتاريخ 20 يناير 2026 .
- ↑ "OpenEuphoria: Euphoria v4.0" . openeuphoria.org . تم الاطلاع عليه بتاريخ 20 يناير 2026 .
- ↑ "18. مكتبة F#، FSharp.Core.dll - مواصفات لغة F#" . fsharp.github.io . تم الاطلاع عليه بتاريخ 19 يناير 2026 .
- ↑ "mod ( xy -- z ) - توثيق العوامل" . docs.factorcode.org . تم الاطلاع عليه بتاريخ 21-01-2026 .
- ↑ "rem ( xy -- z ) - توثيق العوامل" . docs.factorcode.org . تم الاطلاع عليه بتاريخ 21-01-2026 .
- ↑ "معالجة وخصائص القيم العددية - لغة برمجة فورتران" . fortran-lang.org . تم الاطلاع عليه بتاريخ 22-05-2026 .
- ↑ "معالجة وخصائص القيم العددية - لغة برمجة فورتران" . fortran-lang.org . تم الاطلاع عليه بتاريخ 22-05-2026 .
- ↑ المعهد الوطني الأمريكي للمعايير (28 يناير 1987). لغات البرمجة - لغة بيسك الكاملة . نيويورك: المعهد الوطني الأمريكي للمعايير. § 5.4.4.
X modulo Y، أي XY*INT(X/Y).
- ↑ المعهد الوطني الأمريكي للمعايير (28 يناير 1987). لغات البرمجة - لغة بيسك الكاملة . نيويورك: المعهد الوطني الأمريكي للمعايير. § 5.4.4.
دالة الباقي، أي XY*IP(X/Y).
- ↑ "مواصفات لغة GLSL، الإصدار 4.50.7" (ملف PDF) . القسم 5.9: التعبيرات.
إذا كان كلا المعاملين غير سالبين، فإن الباقي يكون غير سالب. وتكون النتائج غير مُعرَّفة إذا كان أحد المعاملين أو كلاهما سالبًا.
- ↑ "مواصفات لغة GLSL، الإصدار 4.50.7" (PDF) . القسم 8.3 الوظائف الشائعة.
- ↑ "int" . وثائق محرك Godot . تم الاطلاع عليها بتاريخ 19-01-2026 .
- ↑ "@GlobalScope" . وثائق محرك Godot . تم الاطلاع عليها بتاريخ 19-01-2026 .
- ↑ "@GlobalScope" . وثائق محرك Godot . تم الاطلاع عليها بتاريخ 19-01-2026 .
- ↑ "@GlobalScope" . وثائق محرك Godot . تم الاطلاع عليها بتاريخ 19-01-2026 .
- ↑ "مواصفات لغة برمجة Go - لغة برمجة Go" . go.dev . تم الاطلاع عليه بتاريخ 28-02-2022 .
- ↑ "حزمة الرياضيات - الرياضيات - pkg.go.dev" . pkg.go.dev . تم الاسترجاع في 28-02-2022 .
- ↑ "حزمة كبيرة - math/big - pkg.go.dev" . pkg.go.dev . تم الاسترجاع في 28-02-2022 .
- ↑ "حزمة كبيرة - math/big - pkg.go.dev" . pkg.go.dev . تم الاسترجاع في 12 أبريل 2024 .
- 1 2 "6 أنواع وفئات مُعرَّفة مسبقًا" . www.haskell.org . تم الاطلاع عليه بتاريخ 22-05-2022 .
- ↑ "المعاملات الثنائية" . هاكس - مجموعة أدوات متعددة المنصات . تم الاسترجاع في 20 يناير 2026 .
- ↑ "المعاملات" . مايكروسوفت . 30 يونيو 2021. تاريخ الاسترجاع: 19 يوليو 2021.
يُعرَّف المعامل
% فقط في الحالات التي يكون فيها كلا الطرفين موجبين أو كلا الطرفين سالبين. وعلى عكس لغة C، فإنه يعمل أيضًا على أنواع البيانات ذات الفاصلة العائمة، بالإضافة إلى الأعداد الصحيحة.
- ↑ "منصة جافا، الإصدار القياسي، مرجع واجهة برمجة تطبيقات جافا" . docs.oracle.com . تم الاطلاع عليه بتاريخ 24-05-2026 .
- ↑ "منصة جافا، الإصدار القياسي، مرجع واجهة برمجة تطبيقات جافا" . docs.oracle.com . تم الاطلاع عليه بتاريخ 25-05-2026 .
- ↑ "منصة جافا، الإصدار القياسي، مرجع واجهة برمجة تطبيقات جافا" . docs.oracle.com . تم الاطلاع عليه بتاريخ 25-05-2026 .
- ↑ "منصة جافا، الإصدار القياسي، مرجع واجهة برمجة تطبيقات جافا" . docs.oracle.com . تم الاطلاع عليه بتاريخ 25-05-2026 .
- ↑ "منصة جافا، الإصدار القياسي، مرجع واجهة برمجة تطبيقات جافا" . docs.oracle.com . تم الاطلاع عليه بتاريخ 25-05-2026 .
- ↑ "منصة جافا، الإصدار القياسي، مرجع واجهة برمجة تطبيقات جافا" . docs.oracle.com . تم الاطلاع عليه بتاريخ 25-05-2026 .
- ↑ "منصة جافا، الإصدار القياسي، مرجع واجهة برمجة تطبيقات جافا" . docs.oracle.com . تم الاطلاع عليه بتاريخ 25-05-2026 .
- ↑ "منصة جافا، الإصدار القياسي، مرجع واجهة برمجة تطبيقات جافا" . docs.oracle.com . تم الاطلاع عليه بتاريخ 25-05-2026 .
- ↑ "منصة جافا، الإصدار القياسي، مرجع واجهة برمجة تطبيقات جافا" . docs.oracle.com . تم الاطلاع عليه بتاريخ 25-05-2026 .
- ↑ "منصة جافا، الإصدار القياسي، مرجع واجهة برمجة تطبيقات جافا" . docs.oracle.com . تم الاطلاع عليه بتاريخ 25-05-2026 .
- ↑ "منصة جافا، الإصدار القياسي، مرجع واجهة برمجة تطبيقات جافا" . docs.oracle.com . تم الاطلاع عليه بتاريخ 25-05-2026 .
- ↑ "منصة جافا، الإصدار القياسي، مرجع واجهة برمجة تطبيقات جافا" . docs.oracle.com . تم الاطلاع عليه بتاريخ 25-05-2026 .
- ↑ "منصة جافا، الإصدار القياسي، مرجع واجهة برمجة تطبيقات جافا" . docs.oracle.com . تم الاطلاع عليه بتاريخ 25-05-2026 .
- ↑ "منصة جافا، الإصدار القياسي، مرجع واجهة برمجة تطبيقات جافا" . docs.oracle.com . تم الاطلاع عليه بتاريخ 25-05-2026 .
- ↑ "منصة جافا، الإصدار القياسي، مرجع واجهة برمجة تطبيقات جافا" . docs.oracle.com . تم الاطلاع عليه بتاريخ 25-05-2026 .
- ↑ "منصة جافا، الإصدار القياسي، مرجع واجهة برمجة تطبيقات جافا" . docs.oracle.com . تم الاطلاع عليه بتاريخ 25-05-2026 .
- ↑ "منصة جافا، الإصدار القياسي، مرجع واجهة برمجة تطبيقات جافا" . docs.oracle.com . تم الاطلاع عليه بتاريخ 25-05-2026 .
- ↑ "منصة جافا، الإصدار القياسي، مرجع واجهة برمجة تطبيقات جافا" . docs.oracle.com . تم الاطلاع عليه بتاريخ 25-05-2026 .
- ↑ "منصة جافا، الإصدار القياسي، مرجع واجهة برمجة تطبيقات جافا" . docs.oracle.com . تم الاطلاع عليه بتاريخ 25-05-2026 .
- ↑ "منصة جافا، الإصدار القياسي، مرجع واجهة برمجة تطبيقات جافا" . docs.oracle.com . تم الاطلاع عليه بتاريخ 25-05-2026 .
- ↑ "منصة جافا، الإصدار القياسي، مرجع واجهة برمجة تطبيقات جافا" . docs.oracle.com . تم الاطلاع عليه بتاريخ 25-05-2026 .
- ↑ "الرياضيات · لغة جوليا" . docs.julialang.org . تم الاطلاع عليه بتاريخ 2021-11-20 .
- ↑ "الرياضيات · لغة جوليا" . docs.julialang.org . تم الاطلاع عليه بتاريخ 2021-11-20 .
- ↑ "rem - لغة برمجة كوتلن" . كوتلن . تم الاسترجاع في 2021-05-05 .
- ↑ "mod - لغة برمجة Kotlin" . Kotlin . تم الاسترجاع في 2021-05-05 .
- ↑ "الدوال الرياضية" . help.libreoffice.org . تم الاطلاع عليه بتاريخ 21-01-2026 .
- ↑ "تعديل: الحصول على باقي القسمة - وثائق وولفرام" . reference.wolfram.com . تم الاطلاع عليه بتاريخ 25-05-2026 .
- ↑ "mod - باقي القسمة (عملية باقي القسمة) - MATLAB" . www.mathworks.com . مؤرشف من الأصل بتاريخ 15 يناير 2026. تم الاطلاع عليه بتاريخ 21 يناير 2026 .
- ↑ "rem - باقي القسمة - MATLAB" . www.mathworks.com . مؤرشف من الأصل بتاريخ 2026-01-01 . تم الاطلاع عليه بتاريخ 2026-01-21 .
- ↑ "أمر fmod" . help.autodesk.com . تم الاطلاع عليه بتاريخ 14-06-2026 .
- ↑ "وظيفة التعديل - دعم مايكروسوفت" . support.microsoft.com . تم الاطلاع عليه بتاريخ 21 يناير 2026 .
- ↑ أونيل، جوزيف ت . وآخرون (1976). معيار لغة MUMPS . غايثرسبيرغ، ماريلاند: وزارة التجارة الأمريكية، المعهد الوطني للمعايير والتكنولوجيا. القسم 3.3.1 عوامل التشغيل الحسابية الثنائية. doi : 10.6028/NBS.HB.118 .
- ↑ "الفصل 3: لغة NASM" . NASM - برنامج التجميع الشبكي الإصدار 2.15.05 .
- ↑ "system" . nim-lang.org . تم الاطلاع عليه بتاريخ 15-06-2026 .
- ↑ "std/math" . nim-lang.org . تم الاطلاع عليه بتاريخ 15-06-2026 .
- ↑ "std/math" . nim-lang.org . تم الاطلاع عليه بتاريخ 15-06-2026 .
- ↑ "مكتبة OCaml : Stdlib" . ocaml.org . تم الاطلاع عليه بتاريخ 19-02-2022 .
- ↑ "مكتبة OCaml : Stdlib" . ocaml.org . تم الاطلاع عليه بتاريخ 19-02-2022 .
- ↑ وثائق بيرل
- ↑ "POSIX - واجهة بيرل لمعيار IEEE 1003.1 - متصفح بيرلدوك" . perldoc.perl.org . تاريخ الاسترجاع: 22-05-2026 .
- ↑ "PHP: عوامل التشغيل الحسابية - دليل المستخدم" . www.php.net . تاريخ الاسترجاع: 2021-11-20 .
- ↑ "PHP: fmod - دليل المستخدم" . www.php.net . تم الاطلاع عليه بتاريخ 2021-11-20 .
- ↑ "EuclideanRing" .
- ↑ "6. التعبيرات" . وثائق بايثون . تم الاطلاع عليه بتاريخ 21-01-2026 .
- ↑ "الرياضيات - الدوال الرياضية" . وثائق بايثون . تم الاطلاع عليه بتاريخ 21 يناير 2026 .
- ↑ "الرياضيات - الدوال الرياضية" . وثائق بايثون . تم الاطلاع عليه بتاريخ 21 يناير 2026 .
- ↑ QuantumWriter. "التعبيرات" . docs.microsoft.com . تم الاطلاع عليه بتاريخ 11-07-2018 .
- ↑ "R: عوامل التشغيل الحسابية" . search.r-project.org . تم الاطلاع عليه بتاريخ 24-12-2022 .
- ↑ "تعبيرات المعاملات - مرجع لغة رست" . doc.rust-lang.org . تم الاطلاع عليه بتاريخ 21-01-2026 .
- ↑ "F32 - الصدأ" .
- 1 2 r6rs.org
- ↑ "لغة أوامر الصدفة" . pubs.opengroup.org . تم الاطلاع عليه بتاريخ 2021-02-05 .
- 1 2 ANSI INCITS 319-1998 (R2002): تكنولوجيا المعلومات - لغات البرمجة - سمول توك . المعهد الوطني الأمريكي للمعايير (ANSI). 1998.
- ↑ "وثائق Solidity" . docs.soliditylang.org . تم الاطلاع عليه بتاريخ 17-10-2024 .
- ↑ "وثائق مطوري Apple" . developer.apple.com . تم الاطلاع عليه بتاريخ 20 نوفمبر 2021 .
- ↑ "وثائق مطوري Apple" . developer.apple.com . تم الاطلاع عليه بتاريخ 20 نوفمبر 2021 .
- ↑ "وثائق مطوري Apple" . developer.apple.com . تم الاطلاع عليه بتاريخ 20 نوفمبر 2021 .
- ↑ "صفحة دليل mathop - أوامر عوامل التشغيل الرياضية في Tcl" . www.tcl-lang.org . تم الاطلاع بتاريخ 22-05-2026 .
- ↑ "صفحة دليل expr - أوامر Tcl المدمجة" . www.tcl-lang.org . تم الاطلاع عليه بتاريخ 22-05-2026 .
- ↑ "صفحة دليل mathop - أوامر عوامل التشغيل الرياضية في Tcl" . www.tcl-lang.org . تم الاطلاع بتاريخ 22-05-2026 .
- ↑ "صفحة دليل الدوال الرياضية في لغة Tcl" . www.tcl-lang.org . تاريخ الاسترجاع: 22-05-2026 .
- 1 2 روسبرغ، أندرياس، محرر. (19 أبريل 2022). "مواصفات WebAssembly الأساسية: الإصدار 2.0" . اتحاد شبكة الويب العالمية . § 4.3.2 عمليات الأعداد الصحيحة.
- ↑ "وثائق Zig" . لغة برمجة Zig . تم الاطلاع عليه بتاريخ 18-12-2022 .
- 1 2 "Mod" . مركز توثيق لغات وأنظمة وولفرام . أبحاث وولفرام . 2020. تم الاطلاع عليه في 8 أبريل 2020 .
روابط خارجية
- مودولوراما ، عرض متحرك لتمثيل دوري لجداول الضرب (شرح باللغة الفرنسية)
- الحساب الحاسوبي
- المشغلون (البرمجة)
- الحساب النمطي
- العمليات على الأعداد
