Modulo

În informatică, modulo este o operație binară care produce restul împărțirii a două numere întregi a și b, adică a m o d b = r , {\displaystyle a\;\mathrm {mod} \;b=r,} unde r {\displaystyle r} este singurul număr întreg astfel încăt

{ 0 r < b r Z : a = n b + r {\displaystyle {\begin{cases}0\leq r<b\\\exists r\in \mathbb {Z} :a=nb+r\end{cases}}}

În majoritatea limbajelor de programare, operația modulo este notată fie cu a mod b fie cu a % b. Există însă diferențe de implementare între diferite limbaje: niște autorizează permit numere reale (în loc de întregi) pentru a și b; iar câteva limbaje dau o valoare negativă pentru r dacă a este negativ.

În matematică, modulo se referă la relația de echivalență denumită congruența modulo n: pentru un număr natural strict positiv n, se zice că două numere întregi p și q sunt egale modulo n, și se notează

p = q mod n {\displaystyle p=q\mod n}

dacă și numai dacă p și q au același restul în împarțirea cu n — adică dacă există k Z {\displaystyle k\in \mathbb {Z} } astfel încăt p = q + k n . {\displaystyle p=q+kn.}

Exemple

În tabelul următor, pentru a evita orice îndoială, se folosește notația a % b {\displaystyle a\;\%\;b} pentru operația binară folosită în informatică, și notația p q mod n {\displaystyle p\equiv q\mod n} pentru relația binară folosită în matematică. Trebuie remarcat că ( a % b = r ) ( a r m o d b ) {\displaystyle (a\;\%\;b=r)\implies (a\equiv r\;\mathrm {mod} \;b)} , dar ( a r m o d b ) {\displaystyle (a\equiv r\;\mathrm {mod} \;b)} nu presupune ( a % b = r ) {\displaystyle (a\;\%\;b=r)} ; asta deoarece ( a r m o d b ) ( a r m o d b ) {\displaystyle (a\equiv r\;\mathrm {mod} \;b)\implies (a\equiv r'\;\mathrm {mod} \;b)} pentru orice r = r + k b {\displaystyle r'=r+kb} .

Informatică Matematică Explicație
5 % 2 = 1 {\displaystyle 5\;\%\;2=1} 5 1 mod 2 {\displaystyle 5\equiv 1\mod 2} 5 = 2 × 2 + 1 {\displaystyle 5=2\times 2+1}
2 % 5 = 2 {\displaystyle 2\;\%\;5=2} 2 2 mod 5 {\displaystyle 2\equiv 2\mod 5} 2 = 0 × 5 + 2 {\displaystyle 2=0\times 5+2}
6 % 3 = 0 {\displaystyle 6\;\%\;3=0} 6 0 mod 5 {\displaystyle 6\equiv 0\mod 5} 6 = 2 × 3 + 0 {\displaystyle 6=2\times 3+0}
Portal icon Portal Matematică


 Acest articol legat de matematică este deocamdată un ciot. Poți ajuta Wikipedia prin completarea lui.