Operator Modulo
Termasuk bagian Dasar-Dasar dalam perjalanan C++ di Coddy. Pelajaran 17 dari 74.
Operator modulo % menghasilkan sisa pembagian. Dalam C++, operator ini digunakan dengan sintaks sederhana:
result = dividend % divisor;- dividend: Bilangan yang dibagi.
- divisor: Bilangan yang membagi dividend.
- result: Sisa hasil pembagian.
Contoh:
result = 10 % 3;Di sini, 10 dibagi 3. 3 masuk ke dalam 10 sebanyak tiga kali, dengan sisa 1. Jadi, result akan bernilai 1.
Biasanya modulo digunakan untuk memeriksa apakah suatu angka genap atau ganjil:
- Jika suatu angka genap, membaginya dengan 2 akan menghasilkan sisa 0.
- Jika suatu angka ganjil, membaginya dengan 2 akan menghasilkan sisa 1.
Saat bekerja dengan bilangan floating-point (double) di C++, kamu tidak bisa menggunakan operator modulo % secara langsung. Sebagai gantinya, kamu perlu menggunakan fungsi fmod() dari library <cmath>. Fungsi ini bekerja mirip dengan operator modulo, tetapi mempertahankan presisi desimal. Contohnya:
#include <cmath>
double result = fmod(5.2, 2.0);
// nilai result adalah 1.2Begini cara kerjanya: 2.0 masuk ke dalam 5.2 sebanyak dua kali (4.0), dan sisanya adalah 1.2 (5.2 - 4.0 = 1.2).
Contoh lainnya:
double result = fmod(7.8, 3.5);
// result bernilai 0.8Ketika pembagi lebih besar daripada bilangan yang dibagi, hasilnya sama dengan bilangan yang dibagi. Hal ini berlaku untuk % dan fmod().
5 % 10 = 5
3 % 7 = 3
fmod(2.5, 8.0) = 2.5Mengapa? Pembagi muat sebanyak nol kali, jadi seluruh bilangan yang dibagi menjadi sisanya.
Tantangan
PemulaTulis kode yang menginisialisasi tiga variabel, a (int), b (double), dan c (int) dengan nilai 9, 2.6, dan 11 (secara berurutan).
Setelah itu, inisialisasi variabel berikut:
d (int)yang akan menyimpan hasil moduloadengan2e (int)yang akan menyimpan hasil moduloadengan3f (double)yang akan menyimpan hasil modulobdengan1.5g (double)yang akan menyimpan hasil modulobdengan3.9h (int)yang akan menyimpan hasil modulocdengan10
Lihat hasilnya dan amati bagaimana pembilang dan penyebut yang berbeda memengaruhi hasil.
Coba sendiri
#include <iostream>
#include <cmath>
int main() {
// Ketik kodemu di bawah ini
// Jangan ubah baris di bawah ini
std::cout << "a = " << a << std::endl;
std::cout << "b = " << b << std::endl;
std::cout << "c = " << c << std::endl;
std::cout << "d = " << d << std::endl;
std::cout << "e = " << e << std::endl;
std::cout << "f = " << f << std::endl;
std::cout << "g = " << g << std::endl;
std::cout << "h = " << h << std::endl;
return 0;
}Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Dasar-Dasar
4Operator Bagian 1
Operator AritmetikaOperator ModuloIncrement/DecrementPost Increment/DecrementPintasan AritmetikaOperator PerbandinganPerbandingan String7Dasar-Dasar Input dan Output
Pernyataan coutPernyataan cinInput stringUlasan: Hingga 120Ulasan: Benar atau Salah3Variabel Bagian 2
Deklarasi TipeKonvensi PenamaanUlasan: Inisialisasi VariabelKonversi Tipe Bagian 1Konversi Tipe Bagian 26Pengambilan Keputusan
Pernyataan ifIf - ElsePernyataan switchOperator PercabanganRingkasan - If ElseIf - Else BersarangLatihan sendiri: Compiler C++ online