Kalkulator Modulo
Operasi modulo (atau “mod”) mengembalikan sisa setelah pembagian bilangan bulat: 17 mod 5 = 2 karena 17 = 3·5 + 2. Operasi ini merupakan inti dari aritmetika jam, kriptografi, fungsi hash, serta pola “setiap baris ke-N” dalam SQL. Kalkulator ini menerima operan bilangan bulat atau desimal, menampilkan hasil bagi dan sisa secara eksplisit, serta menangani perbedaan konvensi tanda antar bahasa pemrograman (% di Python ≠ % di C untuk bilangan negatif).
Cara menghitung a mod b
-
1
Masukkan bilangan yang dibagi (a) dan pembagi (b)
Angka apa pun; desimal dan nilai negatif diperbolehkan.
-
2
Pilih konvensi tanda
Pembagian pemotongan (C, Java, Go), pembagian pembulatan ke bawah (Python, Ruby, konvensi matematika).
-
3
Baca hasil bagi dan sisa
a = q·b + r, dengan aturan yang dipilih untuk tanda dari r.
-
4
Lihat ekspresi matematisnya
Nilai yang disubstitusikan membuat setiap langkah terlihat jelas.
Dua konvensi untuk bilangan negatif
Untuk operan positif, semua konvensi sepakat: 17 mod 5 = 2. Untuk bilangan negatif, bahasa pemrograman berbeda-beda:
| Bahasa | -17 mod 5 |
Konvensi |
|---|---|---|
| Python, Ruby | 3 | Pembulatan ke bawah |
| C, Java, Go, JS | -2 | Pemotongan |
| Buku pelajaran matematika | 3 | Pembulatan ke bawah (biasanya) |
Pembagian pembulatan ke bawah: hasil bagi dibulatkan ke arah −∞. Sisa selalu bertanda sama dengan pembagi: sama tanda dengan b.
Pembagian pemotongan: hasil bagi dibulatkan ke arah nol. Sisa bertanda sama dengan bilangan yang dibagi: sama tanda dengan a.
Untuk a = -17, b = 5:
- Pemotongan: q = -3 (dibulatkan ke arah 0), r = -17 − (-3)·5 = -2.
- Pembulatan ke bawah: q = -4 (dibulatkan ke arah -∞), r = -17 − (-4)·5 = 3.
Keduanya benar sesuai konvensinya. Pilih yang cocok dengan bahasa Anda.
Di mana modulo muncul
- Waktu. Menit dalam satu jam, hari dalam seminggu, detik dalam sehari, semuanya aritmetika modulo.
- Tabel hash.
hash(key) mod table_sizememilih sebuah bucket. - Penjadwalan round-robin.
task_i mod worker_countmenugaskan pekerjaan. - Kriptografi. RSA dan Diffie-Hellman dibangun di atas mod
ndengan bilangan prima yang sangat besar. - Setiap baris ke-N. Dalam SQL:
WHERE id % 3 = 0. - Pemeriksaan genap/ganjil.
n mod 2 == 0berarti genap. - Pola bergantian. Garis-garis baris, mewarnai setiap elemen secara selang-seling.
- Buffer sirkular.
(index + 1) mod sizeberputar kembali ke awal.
Identitas yang berguna
(a + b) mod n = ((a mod n) + (b mod n)) mod n(a · b) mod n = ((a mod n) · (b mod n)) mod n(a^k) mod ndapat dihitung dengan eksponensiasi modular cepat dalam O(log k), penting untuk kriptografi bilangan besar.a mod 1 = 0untuk setiap bilangan bulat a.a mod a = 0.
Modulo desimal
Untuk bilangan riil, definisi alaminya adalah a mod b = a − b · floor(a/b). 7.5 mod 2.5 = 0 karena 7,5 adalah kelipatan tepat. 7.6 mod 2.5 = 0.1.
Operator % di JavaScript bekerja pada bilangan riil; fmod di Python melakukan modulo riil dengan pemotongan; % di Python melakukan modulo riil dengan pembulatan ke bawah.
Contoh terselesaikan
100 mod 7: 100 = 14·7 + 2, sehingga sisanya 2.25 mod 4: 25 = 6·4 + 1, sehingga sisanya 1.-10 mod 3(pembulatan ke bawah):-10 = -4·3 + 2, sisa 2. (Pemotongan akan menghasilkan-1.)17.5 mod 5: 17,5 = 3·5 + 2,5, sisa 2,5.
Pertanyaan yang Sering Diajukan
Sebagian besar waktu keduanya bersinonim. Secara formal, “modulo” sering menyiratkan konvensi matematis (pembulatan ke bawah), sedangkan “remainder” (sisa) sering merujuk pada varian pemotongan (gaya C). Nama-nama ini terbawa ke dalam dokumentasi bahasa; jika penting, sebutkan konvensinya secara eksplisit.
Python mengikuti konvensi matematis (pembulatan ke bawah), yang menjaga tanda sisa sesuai dengan pembagi. C mengikuti konvensi ALU perangkat keras (pemotongan), di mana tanda sisa sesuai dengan bilangan yang dibagi. Tidak ada yang salah; keduanya hanyalah pilihan yang berbeda.
Tidak, pembagian dengan nol tidak terdefinisi. Kalkulator mengembalikan kesalahan untuk b = 0.
Biasanya, ya. Periksa spesifikasi bahasa Anda untuk penanganan bilangan negatif, Python dan Ruby berbeda dari C, Java, Go, dan JavaScript.
Untuk matematika gaya RSA dengan bilangan 2048-bit, gunakan pustaka khusus (pow(a, b, n) di Python, BigInteger.modPow di Java). Kalkulator ini menangani nilai sehari-hari, bukan nilai tingkat kriptografi.
Alat Terkait
Kalkulator Durasi Waktu
Hitung durasi antara dua jam dalam HH:MM, jam desimal, menit, dan detik.
Konverter Dari Hari ke Bulan
Konversikan sejumlah hari menjadi bulan, minggu, dan tahun dengan menggunakan panjang bulan rata-rata sebesar 30,437 hari, siap untuk perencanaan dan perkiraan.
Kalkulator Panjang Sabuk
Hitung panjang garis pitch sabuk terbuka dari dua diameter puli dan jarak antarpusat dengan geometri eksak serta pendekatan standar.
Kalkulator usia
Hitung usia tepat dalam tahun, bulan, dan hari dari tanggal lahir, plus total hari, jam, dan hitung mundur ulang tahun berikutnya.
Kalkulator Jam Pulang Kerja
Hitung jam pulang dari jam masuk, jam kerja berbayar yang wajib dipenuhi, dan istirahat tidak berbayar. Mendukung sif malam yang melewati tengah malam serta menampilkan waktu 24 jam dan 12 jam.
Kalkulator RAID
Bandingkan kapasitas RAID 0, 1, 5, 6, 10, 50, dan 60 dengan ukuran disk campuran, span paritas, hot spare, TB versus TiB, serta biaya rata-rata disk.
Alat ini tersedia dalam bahasa lain
- 剰余計算機 [JA]
- Máy tính modulo [VI]
- 모듈로 계산기 [KO]
- حاسبة باقي القسمة (Modulo) [AR]
- Calculadora de Módulo [PT]
- Modulo-Rechner [DE]
- Calculadora de Módulo [ES]
- Calculateur de Modulo [FR]
- Modulo-calculator [NL]
- Modulokalkylator [SV]
- เครื่องคำนวณโมดูโล (Modulo) [TH]
- Kalkulator modulo [PL]
- Modulo Calculator [EN]
- Calcolatore Modulo [IT]
- Калькулятор остатка от деления [RU]
- Modulo Hesaplayıcı [TR]
- 取模计算器 [ZH]