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. Bu nedenle, result 1 olacaktır.
Genellikle modül (modulo), 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ı verir.
- Eğer bir sayı tekse, 2'ye bölündüğünde 1 kalanını verir.
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'dirNasıl çalıştığı aşağıda açıklanmıştı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);
// sonuç 0.8Bö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.
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ış