Modül Operatörü
Coddy'nin C++ Journey'sinin Temeller bölümünün bir parçası — ders 17 / 74.
Modulo operatörü % bir bölme işleminin kalanını verir. C++'da basit bir sözdizimi ile kullanılır:
result = dividend % divisor;- dividend: Bölünen sayı.
- divisor: Bölüneni bölen sayı.
- result: Bölme işleminden kalan.
Örneğin:
result = 10 % 3;Burada, 10 sayısı 3'e bölünür. 3, 10'un içinde üç kez vardır ve kalan 1'dir. Böylece, result 1 olacaktır.
Genellikle mod alma işlemi, bir sayının çift mi yoksa tek mi olduğunu kontrol etmek için kullanılır:
- Eğer bir sayı çiftse, 2'ye bölündüğünde 0 kalanını verecektir.
- Eğer bir sayı tekse, 2'ye bölündüğünde 1 kalanını verecektir.
C++'da kayan noktalı sayılarla (double) çalışırken, modül operatörünü % doğrudan kullanamazsınız. Bunun yerine, <cmath> kütüphanesindeki fmod() fonksiyonunu kullanmanız gerekir. Modül operatörüne benzer şekilde çalışır ancak ondalık hassasiyeti korur. Örneğin:
#include <cmath>
double result = fmod(5.2, 2.0);
// sonuç 1.2İşte şu şekilde çalışır: 2.0, 5.2'nin içinde iki kez vardır (4.0) ve kalan 1.2'dir (5.2 - 4.0 = 1.2).
Başka bir örnek:
double result = fmod(7.8, 3.5);
// result 0.8'dirBölen, bölünenden daha büyük olduğunda, sonuç bölünene eşittir. Bu, hem % hem de fmod() için geçerlidir.
5 % 10 = 5
3 % 7 = 3
fmod(2.5, 8.0) = 2.5Neden? Bölen sıfır kez sığar, bu nedenle bölünenin tamamı kalandır.
Görev
Başlangıç9, 2.6 ve 11 değerleriyle (sırasıyla) a (int), b (double) ve c (int) olmak üzere üç değişkeni başlatan bir kod yazın.
Bundan sonra, aşağıdaki değişkenleri başlatın:
amodulo2sonucunu tutacak oland (int)amodulo3sonucunu tutacak olane (int)bmodulo1.5sonucunu tutacak olanf (double)bmodulo3.9sonucunu tutacak olang (double)cmodulo10sonucunu tutacak olanh (int)
Sonucu kontrol edin ve farklı bölünenlerin ve bölenlerin sonucu nasıl etkilediğini görün.
Kopya kağıdı
Mod operatörü % bir bölme işleminin kalanını verir:
result = dividend % divisor;Örnek:
result = 10 % 3; // result is 1Yaygın kullanım durumu - bir sayının çift mi yoksa tek mi olduğunu kontrol etmek:
- Çift sayılar:
number % 2 == 0 - Tek sayılar:
number % 2 == 1
Ondalıklı sayılar için <cmath> kütüphanesinden fmod() fonksiyonunu kullanın:
#include <cmath>
double result = fmod(5.2, 2.0); // result is 1.2
double result2 = fmod(7.8, 3.5); // result2 is 0.8Bölen, bölünenden daha büyük olduğunda sonuç bölünene eşittir. Bu durum hem % hem de fmod() için geçerlidir.
Kendin dene
#include <iostream>
#include <cmath>
int main() {
// Kodunuzu aşağıya yazın
// Aşağıdaki satırı değiştirmeyin
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;
}Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Temeller bölümündeki tüm dersler
4Operatörler Bölüm 1
Aritmetik OperatörlerModül OperatörüArtırma/AzaltmaSonradan Artırma/AzaltmaAritmetik KısayollarKarşılaştırma OperatörleriString Karşılaştırma7Giriş/Çıkış Temelleri
cout İfadesicin İfadesiString GirdisiÖzet - 120'ye KadarÖzet - Doğru veya Yanlış