Mod işlemi neyi bulur?

Modüler aritmetikte bir tam sayıyı belirli büyüklükteki döngülere ayırırız. Bu araç, a sayısı pozitif m sayısına bölündüğünde kalan r değerini hesaplar. Kullanılan tanım a = m × q + r ve 0 ≤ r < m biçimindedir. Burada q tam sayı bölüm, r ise negatif olmayan kalandır.

Örneğin 17’yi beşerli gruplara ayırın. Üç tam grup 15 eder, geriye iki kalır. Bu yüzden 17 mod 5 = 2 yazılır. Sonuç ekranında bölüm ve ayrışım da gösterilir; böylece yalnızca kalanı değil, o kalanın neden bulunduğunu kontrol edebilirsiniz.

Negatif sayılarda asıl önemli ayrım

−17 mod 5 için bu araç 3 sonucunu verir. Çünkü −17 = 5 × (−4) + 3 ve kalan 0 ile 5 arasındadır. Bölümü −3 seçseydik −17 = 5 × (−3) − 2 olurdu; ancak −2 burada seçilen negatif olmayan kalan tanımına uymaz.

Bazı programlama dillerindeki yüzde işaretli kalan işlemi, negatif girdilerde farklı işaret kuralı kullanır. Dolayısıyla bir kod parçasında −2, bu araçta 3 görülmesi tek başına hesaplardan birinin bozuk olduğunu göstermez. Önce kullanılan mod veya kalan sözleşmesini karşılaştırmak gerekir.

Döngü örneğini gözünüzde canlandırın

Beş konumlu bir döngüyü 0, 1, 2, 3, 4 diye numaralandırın. On yedi adım ilerlemek, üç tam turdan sonra iki numaralı konuma ulaşmak gibidir. On yedi adım geriye gitmek ise aynı döngüde üç numaralı konuma denk gelir. İlerleme ve geri gitme aynı kalan tanımıyla ifade edilir.

Saat örneklerinde etiketleme farklı olabilir. On iki saatlik kadranda 0 yerine 12 yazıldığı için mod sonucunun ekranda 0 çıkması “saat sıfır” demek değildir; o konum kadranda 12 etiketiyle gösterilebilir. Matematiksel konumla günlük gösterimi birbirinden ayırın.

Bölümle sonucu doğrulayın

Bir kalanı kontrol etmenin iki koşulu vardır. İlk olarak bölümle böleni çarpıp kalanı eklediğinizde başlangıç sayısına dönmelisiniz. İkinci olarak kalan sıfırdan küçük olmamalı ve bölen kadar büyük olmamalıdır. Örneğin −17 için 5 × (−4) + 3 = −17 ve 0 ≤ 3 < 5 olduğundan iki koşul da sağlanır.

20 mod 5 sonucunun sıfır olması tam bölünebilirlik gösterir. Bölen 1 olduğunda bütün tam sayıların kalanı sıfırdır. Bunlar özel istisnalar değil, aynı tanımın doğal sonuçlarıdır.

Hangi girdiler kabul edilir?

Bu sürüm tam sayı girdileri kullanır. Bölünen sayı negatif, sıfır veya pozitif olabilir; bölen ise pozitif olmak zorundadır. Ondalıklı girdiler ve sıfır bölen kabul edilmez. Negatif bölen için farklı sözleşmeler bulunabildiğinden bu form onları kapsam dışında bırakır.

Girdiler desteklenen büyüklük sınırında kontrol edilir. Kabul edilen tam sayılar, bölüm ve kalan aşamasında tam sayı aritmetiğiyle işlenir. Çok uzun bir sayının son basamaklarını kaybedip yine de kesinmiş gibi cevap verilmez; sınır aşılırsa kullanıcıdan daha uygun bir araç veya kapsam seçmesi istenir.

Nerelerde işe yarar, nerelerde yetmez?

Mod hesabı döngüsel sıra, vardiya konumu, tekrarlanan desen veya bölünebilirlik kontrolünde kullanılabilir. Örneğin yedi konumlu bir sıra için 16 mod 7 = 2 sonucu, başlangıç konumuna göre iki adımlık artığı verir. Gerçek gün adını bulmak için başlangıç gününü de bilmek gerekir.

Bu araç modüler üs alma, ters eleman, denklem sistemi veya şifreleme uygulaması değildir. Basit kalan hesabını doğru yapması, güvenli bir kriptografik sistem kurduğu anlamına gelmez. İhtiyaç yalnızca tek bölme işleminin kalanıysa sonuç, bölüm satırıyla birlikte açık ve denetlenebilir biçimde kullanılabilir.

Aynı kalan ne anlatır?

İki sayı aynı pozitif bölenle aynı kalanı veriyorsa aralarındaki fark o bölenin tam katıdır. Örneğin 17 ve 32, beşe bölümde iki kalanını verir. Farkları 15, yani üç kez beştir. Döngüsel bir çizelgede bu iki adım aynı konuma ulaşır; fakat geçen toplam adım sayısı aynı değildir. Kalan, bütün başlangıç bilgisinin yerine geçmez.