Skip to main content
🔬 Advanced ✨ New

Modulo Calculator

Calculate the remainder of a division operation. Find a mod b instantly with step-by-step explanation. This free math tool gives instant, accurate results.

Modulo Operasyonu Nedir?

Modulo işlemi (mod veya %), bir sayıyı diğerine böldükten sonra geri kalanı döndürür. Bir mod b için: a'yı b'ye bölün ve sonuç geri kalanıdır. Örneğin, 17 mod 5 = 2 (çünkü 17 = 3×5 + 2). Sonuç, pozitif değerler için her zaman [0, b-1] aralığındadır

.

Temel ilişki: a = q×b + r, burada q bölümdür (taban (a/b)) ve r kalanıdır (0 ≤ r < b). Modulo, tamsayı bölmeye eşlik eden işlemdir - eğer a ÷ b = q kalanı r ile, o zaman bir mod b = r. Bu hesap makinesi, bazı programlama dilleri tarafından kullanılan işaretli kalan yerine gerçek matematiksel modül tanımını (pozitif bölen için her zaman negatif olmayan) kullanır

.

Modüler aritmetik - sayıların “etrafta dolandığı” sabit bir modüle sahip aritmetik - saat aritmetiğinin temelini oluşturur. Bir saatteki saatler mod 12 veya mod 24 olarak hesaplanır. Saat 10:00 ise ve 5 saat eklerseniz: (10 + 5) mod 12 = 3 (PM). Bu çevreleme davranışı, bilgisayar bilimi, kriptografi ve sayı teorisindeki sayısız algoritmanın merkezinde yer alır

.

Modulo Örnekleri ve Adım Adım Çözümler

Modulo'yu anlamak, işlenmiş örneklerle sezgisel hale gelir. Aşağıdaki her hesaplama için formül şu şekildedir: kalan = a − zemin (a ÷ b) × b.

) Doğrulama 3 17 ✓ 5 20 ✓ 2 7 ✓ 14 100 ✓ 1 13 ✓ 0 16 256 ✓ 52 365 ✓
İfade Katsayısı (kat) Kalan (a mod b
17 mod 5 3 2 × 5 + 2 =
20 mod 4 5 0 × 4 + 0 =
7 mod 3 2 1 × 3 + 1 =
100 mod 7 14 2 × 7 + 2 =
13 mod 13 1 0 × 13 + 0 =
1 mod 5 0 1 × 5 + 1 = 1 ✓
256 mod 16 16 0 × 16 + 0 =
365 mod 7 52 1 × 7 + 1 =

365 mod 7 = 1'e dikkat edin: Bu bize sıçrama olmayan bir yılın 52 tam haftası artı 1 fazladan gün olduğunu söyler, bu nedenle haftanın günü her sıçrama olmayan yılda 1 oranında değişir. Bir sıçrama yılı (366 gün) mod 7 = 2, günü 2'ye kaydırır.

Modüler Aritmetik Uygulamaları

Modulo programlama ve matematik boyunca görünür. Eş/tek denetimi: n %2 == 0 ise, n çifttir. Dairesel diziler ve halka arabellekleri: index = (current_index + 1) %array_size başlangıcına kadar dolanır. Karma tabloları: bucket = hash (key) %num_bucket, herhangi bir karma değerini geçerli bir klasör dizinine eşleyerek sınır dışı erişim

sağlamaz.

Takvim hesaplamalarında, haftanın günü aritmetiği mod 7'yi kullanır. Zeller formülü ve Doomsday algoritması, herhangi bir tarih için haftanın gününü belirlemek için modüler aritmetiğe dayanır.. Bunlar işe yarıyor çünkü haftada tam olarak 7 gün var - sabit bir modül. Saat dilimi ofsetleri, saat değerlerini gece yarısı sınırları boyunca doğru şekilde sarmak için mod 24'ü kullanır

.

Dijital sistemlerde, bellek adreslerinin dahil olduğu her yerde modulo kullanılır. Sayfa tablosu girişleri, önbellek kümesi seçimi ve bellek eşlemeli G/Ç tümü modüler dizine eklemeye dayanır. CPU komut setleri tipik olarak bölmenin yanı sıra kalan (modül benzeri) bir talimat içerir ve SIMD vektör talimatları, karıştırmalarda şerit sarma için modulo kullanır

.

Hata tespitinde, döngüsel yedeklilik kontrolleri (CRC'ler) ve kontrol toplamları, GF (2) üzerinden polinom modüler aritmetik kullanılarak hesaplanır. Kredi kartı numaraları Luhn algoritmasını geçer (bir modulo-10 kontrolü). ISBN-10 kitap numaraları mod 11'i kullanır. Bu kontrol toplamları, sayısal kodlardaki aktarım ve tek basamaklı hataları yak

alar.

Şifreleme Modülü

Modüler aritmetik, modern açık anahtar kriptografinin matematiksel temelidir. En önemli üç kriptografik algoritma - RSA, Diffie-Hellman ve Eliptic Curve Cryptography - hepsi büyük bir asal veya bileşik sayı modülünde gerçekleştirilen işlemlere dayanır

.

RSA şifrelemesi modüler üstlenmeyi kullanır: bir M mesajını genel anahtarla (e, n) şifrelemek için C = M^e mod n'yi hesaplayın. Şifresini çözmek için M = C^d mod n'yi hesaplayın, burada d özel anahtardır. Güvenlik, n'yi (büyük bir yarı prime) çarpanlara ayırmanın zorluğuna dayanır - yalnızca n'yi bilmek, p ve q'yi kurtarmak 2048 bit'in üzerindeki anahtar boyutları için hesaplama açısından imkansızdır

.

Diffie-Hellman anahtar değiş imi, iki tarafın güvensiz bir kanal üzerinden paylaşılan bir sır oluşturmasına izin verir: Alice A = g^a mod p gönderir, Bob B = g^b mod p gönderir. Her taraf paylaşılan sırrı hesaplar: Alice hesaplar B^a mod p = g^ (ab) mod p, Bob hesaplar A^b mod p = g^ (ab) mod p. g^a mod p ve g^b mod p'yi ele geçiren bir dinleyici, ayrık logaritma problemini çözmeden g^ (ab) mod p'yi kurtaramaz

.

Bu sistemlerin güvenliği, modüler üstlenmenin tek yönlü doğasına bağlıdır: g^a mod p'yi hesaplamak hızlıdır (tekrarlanan kareler, O (log a) çarpmaları kullanılarak), ancak tersine çevirmenin - belirli bir g^a mod p bulmanın - büyük asal sayılar p için üstel zaman gerektirdiğine inanılır.

Negatif Sayılar ve Kenar Durumları ile Modulo

Negatif sayılarla modulo davranışı programlama diline göre değişir ve bu da bulunması zor birçok hataya neden olur. Farkı anlamak yazılım geliştiricileri için kritik öneme sahiptir.

Pozitif bölen
Dil -7 %3 7 %-3 Tan ım
Python 2 -2 İş areti bölücüyü takip eder (true modulo)
JavaScript -1 1 İşareti temettüyü takip eder (kalan)
C/C++ -1 1 Tem ettü yü takip eden işareti (C99+)
Java -1 1 iş areti tem ettüyü takip ediyor
Ruby 2 -2 İşareti böleni takip eder (true modulo)
Matematik (tanım) 2 1 (veya tanımsız)için her zaman negatif olmayan

Matematikte, modulo her zaman negatif olmayan bir sonuç döndürür: -7 mod 3 = 2 (çünkü -7 = -3×3 + 2 ve 0 ≤ 2 < 3). Bu hesap makinesi matematiksel tanımı kullanır.

Herhangi bir dilde negatif olmayan bir sonuç sağlamanın güvenli yolu: ((a %b) + b) %b. Bu, negatif girişleri doğru şekilde işler ve hesap makinemiz tarafından dahili olarak kullanılır. Bu model, negatif sonuçların hatalara neden olacağı dizi indeksleme veya takvim günü hesaplamaları için modulo kullanırken önemlidir

.

Hatırlanması gereken kenar durumları: (1) Herhangi bir sayı modu 1 = 0 - 1'e bölünmek kalıntı bırakmaz. (2) Herhangi bir sayı modunun kendisi = 0. (3) 0 mod sıfır olmayan herhangi bir sayı = 0. (4) Bölme (ve modulo) sıfıra tanımsızdır - modulo'yu hesaplamadan önce her zaman bölücüyü doğrulayın. Hesap makinemiz modulo için sıfır olarak net bir hata mesajı görüntüler

.

Modulo ve Bölünebilirlik Testleri

Modulo'nun en pratik kullanımlarından biri, tam bölme gerçekleştirmeden bölünebilirliği test etmektir. Bir a sayısı, yalnızca bir mod b = 0 ise b ile bölünebilir. Bu, hızlı bölünebilirlik kontrolleri sağlar

: bilirlik 3 = 0 ✓ 0 ✓
Test Örneğine Göre Bölüne
2 n mod 2 = 0 (son basamak çift) 128 mod 2 = 0 ✓
3 Rak amların toplamı mod 3 = 0 123:1+2+3 = 6, 6 mod
4 Son iki hane mod 4 = 0 312:12 mod 4 = 0 ✓
5 Son basamak 0 veya 5 735 mod 5 = 0 ✓
9 Rak amların toplamı mod 9 = 0 369:3+6+9 = 18, 18 mod 9 =
10 n mod 10 = 0 (son basamak 0'dır) 500 mod 10 = 0 ✓

Bu bölünebilirlik kuralları, modüler aritmetik özelliklerden türetilen kısayollardır. 3 ve 9 için rakamlı toplam kuralları işe yarar çünkü 10 ≡ 1 (mod 3) ve 10 ≡ 1 (mod 9), yani her basamağın konumsal değeri 3 veya 9'a bölünebilirlik açısından önemsizdir. Bunlar ilkokulda modüler aritmetik bağlam olmadan öğretilir, ancak temel mekanizma modulodur

.

Modüler Yükseltme: Hızlı Güç Modu

A^b mod n'yi doğrudan önce a^b'yi hesaplayarak, ardından mod n alarak hesaplamak, büyük üsler için pratik değildir - a^100 binlerce basamağa sahip olabilir. Modüler üsleme, ara sonuçları küçük tutmak için kimliği (a×b) mod n = ((a mod n) × (b mod n)) mod n kullanır

.

Hızlı algoritma tekrarlanan kareyi kullanır (ikili üsleme):

  • 1 bite karşılık gelen güçleri çarpın: a¹³ = a× a⁴ × a¹ (mod n)
  • Bu, b'den O'ya çarpma sayısını azaltır (log₂ b). b = 2048 bit RSA üstleri için (~10^600), bu trilyonlarca çarpma ile sadece ~2000 arasındaki farktır. Bu optimizasyon olmadan, RSA şifrelemesi tamamen pratik olmayacaktır

    .

    Sıkça Sorulan Sorular

    15 mod 4 nedir?

    15 mod 4 = 3. Çünkü 15 = 3×4 + 3, geri kalanı 3'tür. Doğrulayın: 3×4 = 12 ve 15 − 12 = 3.

    Mod 0 ne anlama geliyor? S@@

    ıfır ile modül tanımlanmamıştırd, tıpkı sıfıra bölmek gibi. Bir mod 0 hesaplayamazsınız. Hesap makinemiz bu durumda bir hata mesajı döndürür. Bölme tabanlı herhangi bir işlem sıfır olmayan bir bölen gerektirir

    .
    Modulo bölünebilirlik ile nasıl ilişkilidir?

    Bir a sayısı, yalnızca bir mod b = 0 ise b ile bölünebilir. Örneğin, 24 mod 6 = 0, yani 24 6 ile bölünebilir. 25 mod 6 = 1, yani 25 6'ya bölülemez. Bu, modulo'yu bilgisayar bilimlerinde bölünebilirlik testi için temel araç haline getirir

    .
    Mod ve Kalan Arasındaki Fark Nedir?

    Pozitif sayılar için mod ve geri kalanlar aynıdır. Negatif sayılar için farklılık gösterirler: matematiksel modül her zaman negatif olmayan bir sonuç döndürür (işareti böleni takip eder), geri kalanı ise temettü işaretini alır. Örneğin, -7 mod 3 = 2 (matematik), ancak -7 kalan 3 = -1 (C, Java, JavaScript'te olduğu gibi).

    10 mod 3 nedir?

    10 mod 3 = 1. Çünkü 10 = 3×3 + 1, geri kalanı 1'dir. Doğrulayabilirsiniz: 3×3 = 9 ve 10 − 9 = 1. Bu, 10'un 3'e bölündüğünde 1'in kalanını bıraktığı anlamına gelir, bu nedenle 10'un 3'e bölülemez

    .
    0 mod 5 nedir?

    0 mod 5 = 0. Sıfır, sıfır olmayan herhangi bir sayıya bölünmesi katsayısı 0 ve kalan 0 verir. Genel olarak, herhangi bir n ≠ 0 için 0 mod n = 0. Bu tanımla tutarlıdır: 0 = 0 × 5 +

    0.
    Modulo programlamada nasıl kullanılır?

    Yaygın programlama kullanımları şunlardır: eş/tek (n%2==0) denetimi, dizi dizinlerini sarma (indeks% length), halka arabellekleri uygulama, öğeleri karma tablolarda (hash%size) klasörlere dağıtma, durum makinesindeki durumlar arasında döndürme ve her ninci yinelemede periyodik olayların tetiklenmesini sağlamak (sayıcı% n==0).

    Saat aritmetiği nedir?

    Saat aritmetiği günlük modüler aritmetiktir. 12 saatlik bir saat, mod 12'yi kullanır: saat 11 + 3 saat = (11+3) mod 12 = saat 2. Bu sarma davranışı tam olarak modüler aritmetiktir. Benzer şekilde, haftanın günleri mod 7'yi kullanır ve askeri zaman mod 24'ü saatlerce kullanır.

    Modulo kriptografide neden önemlidir?

    Modüler aritmetik tek yönlü fonksiyonları mümkün kılar. G^a mod p'yi (g, a, p verildiğinde) hesaplamak hızlıdır, ancak belirli bir g^a mod p ve p (ayrık logaritma problemi) bulmak, büyük asal sayılar için hesaplama açısından mümkün değildir. Bu asimetri, Diffie-Hellman anahtar alışverişi, RSA ve internet iletişimini koruyan çoğu genel anahtar şifrelemesinin temelini oluşturur

    .
    Herhangi bir sayı modunun sonucu nedir?

    Herhangi bir tamsayı modu 1 = 0. 1'e bölmek her zaman kalıntı bırakmaz - her tamsayı 1'e mükemmel bir şekilde bölünebilir. Bu matematiksel olarak tutarlıdır: a = a×1 + 0, yani geri kalanı her zaman 0'dır. Bu kenar kasası, modüler aritmetik uygulamalarda ele alınması önemlidir

    .

    Günlük Yaşamda Modulo: Pratik Örnekler

    Modüler aritmetik, günlük hayatta çoğu insanın düşündüğünden çok daha sık görülür. Bir saati okuduğunuz, haftalık bir etkinliğin ne zaman tekrarlandığını hesapladığınız, bir sayının 9'a bölünebilir olup olmadığını kontrol ettiğiniz veya bir yıldönümünün haftanın hangi gününe düştüğünü belirlemek için yılın son basamağına baktığınız an, modüler aritmetik yapıyorsunuz - bu adı kullanmasanız bile

    .

    Zamanlama ve yineleme: Bir olay 7 günde bir gerçekleşirse ve bugün Salı ise (2. gün, Pazar = 0'dan sıfır indekslenmiştir), o zaman bundan 30 gün sonra (2+30) mod 7 = 32 mod 7 = 4, yani Perşembe. Bu doğrudan hesaplama, haftaları ve günleri ayrı ayrı saymaktan daha hızlıdır. Benzer şekilde, bir abonelik her ayın 28'inde yenilenirse ve şu anda 15'ündeyse, yenileme günleri (28−15) mod 31 = 13 gündür

    .

    Dijital kontrol basamakları: ISBN-13 barkod standardı modulo 10'u kullanır. Herhangi bir ISBN-13'ün son basamağı, 13 basamağın ağırlıklı toplamı 10'a bölünebilecek şekilde seçilir. Bir kitabın ISBN'sini girerken tek bir basamağı yanlış yazarsanız, kontrol başarısız olur (mod 10 ≠ 0) ve bir hata işaretlenir. Kredi kartı numaraları aynı amaç için Luhn algoritmasını (mod-10 kontrolü) kullanır. ISBN-10 standardı, tek transpozisyonların algılanmasına izin veren mod 11'i kullanır

    .

    Bilgisayar belleği ve adresleri: RAM tipik olarak 2'lik güçlerle adreslenir (sayfa başına 1024, 2048, 4096 bayt). Bir program belleğe eriştiğinde, işletim sistemi bir adresin hangi bellek sayfasına girdiğini hesaplamak için modulo kullanır: page_number = address mod page_size. CPU önbelleklerinde önbellek satırı seçimi benzer şekilde modulo kullanır. Ses işleme, ağ paketi kuyruğu ve video akışında arabellek sarma işleminin tümü dairesel arabellek matematiğini kullanır: write_position = (write_position + 1) %buffer

    _size.

    Sanat ve müzik kalıpları: Müzik teorisindeki ritmik desenler modüler aritmetik kullanılarak analiz edilir. 4/4 zaman imzası 0, 1, 2, 3 yinelenen vuruşlara sahiptir - mod-4 döngüsü. Poliritimler, m ve n periyotlarına sahip iki bağımsız ritim aynı anda çaldığında ortaya çıkar; her lcm (m, n) vuruşunu senkronize ederler. Döşeme tesellasyonları gibi görsel desenler iki boyutta modüler periyotlarla tekrarlanır

    .

    Coğrafi ve saat dilimi hesaplamaları: UTC ofsetleri −12 ile +14 arasında değişir. Saat dilimleri arasında dönüştürme: UTC cinsinden T zamanı, yerel saat = (T + ofset) mod 24. Ortaya çıkan değer mantıksız görünebilir (örneğin, 23 + 5 = 28, mod 24 = 4, ertesi gün saat 4:00 anlamına gelir), ancak mod işlemi gece yarısı sınırını doğru şekilde işler. Uluslararası tarih çizgisi geçişleri mod 7'yi kullanarak haftanın günü hesaplamalarıyla birlikte mod 24

    'ü kullanır.

    Modulo'yu anlamak, bu günlük hesaplamaları daha net, daha hızlı ve daha az hataya açık hale getirir. Modeli gördüğünüzde, derleyici optimizasyonlarında modüler aritmetik, video oyunlarında rotasyon algoritmaları, round robin turnuva planlaması ve sunucu kümeleri arasında yük dengelemede modüler aritmetik fark edeceksiniz - hepsi bölünmeden sonra kalan basit ama güçlü konseptine dayanıyor

    .