Modulo

De la Sberopedia, enciclopedia liberă
Sari la navigare Sari la căutare

În informatică, modulo este o operație binară care produce restul împărțirii a două numere întregi a și b, adică amodb=r, unde r este singurul număr întreg astfel încăt

{0≤r<b∃n∈ℤ:a=nb+r

Î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=qmodn

dacă și numai dacă p și q au același restul în împarțirea cu n — adică dacă există k∈ℤ astfel încăt p=q+kn.

Exemple[modificare]

În tabelul următor, pentru a evita orice îndoială, se folosește notația a%b pentru operația binară folosită în informatică, și notația p≡qmodn pentru relația binară folosită în matematică. Trebuie remarcat că (a%b=r)⟹(a≡rmodb), dar (a≡rmodb) nu presupune (a%b=r); asta deoarece (a≡rmodb)⟹(a≡r′modb) pentru orice r′=r+kb.

Informatică Matematică Explicație
5%2=1 5≡1mod2 5=2×2+1
2%5=2 2≡2mod5 2=0×5+2
6%3=0 6≡0mod3 6=2×3+0