Menu
CoddyTech

Modül Operatörü

Coddy'nin C++ Journey'sinin Temeller bölümünün bir parçası. Ders 17 / 74.

Mod alma işleci %, bir bölme işleminin kalanını verir. C++ dilinde basit bir söz dizimiyle kullanılır:

result = dividend % divisor;
  • dividend: Bölünen sayı.
  • divisor: Böleni bölen sayı.
  • result: Bölme işleminden kalan.

Örneğin:

result = 10 % 3;

Burada 10, 3'e bölünür. 3, 10'un içinde üç kez bulunur ve 1 kalan verir. Dolayısıyla result 1 olur.

Genellikle mod alma, bir sayının çift mi yoksa tek mi olduğunu kontrol etmek için kullanılır:

  • Bir sayı çiftse, 2’ye bölündüğünde kalan 0 olur.
  • Bir sayı tekse, 2’ye bölündüğünde kalan 1 olur; sayı negatif olduğunda ise kalan -1 olur.

C++ dilinde kayan noktalı sayılarla (double) çalışırken modulo operatörünü % doğrudan kullanamazsın. Bunun yerine, <cmath> kitaplığındaki fmod() işlevini kullanman gerekir. Bu işlev modulo operatörüne benzer şekilde çalışır, ancak ondalık hassasiyeti korur. Örneğin:

#include <cmath>

double result = fmod(5.2, 2.0);
// result 1.2'dir

İşte nasıl çalıştığı: 2.0, 5.2'nin içinde iki kez bulunur (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'dir

Bölen, bölünenden büyük olduğunda sonuç bölünene eşit olur. Bu, hem % hem de fmod() için geçerlidir.

5 % 10 = 5
3 % 7 = 3
fmod(2.5, 8.0) = 2.5

Neden? Bölen sıfır kez sığar, bu nedenle bölünenin tamamı kalandır.

challenge icon

Görev

Başlangıç

a (int), b (double) ve c (int) adlı üç değişkeni sırasıyla 9, 2.6 ve 11 değerleriyle başlatan bir kod yaz.

Bundan sonra aşağıdaki değişkenleri başlat:

  • d (int), a değerinin 2 ile bölümünden kalanı tutacak 
  • e (int), a değerinin 3 ile bölümünden kalanı tutacak
  • f (double), b değerinin 1.5 ile bölümünden kalanı tutacak
  • g (double), b değerinin 3.9 ile bölümünden kalanı tutacak
  • h (int), c değerinin 10 ile bölümünden kalanı tutacak

Sonucu incele ve farklı bölünenlerin ve bölenlerin sonucu nasıl etkilediğini gör.

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;
}
quiz iconKendini test et

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

Kendi başına pratik yap: Online C++ derleyicisi