> For the complete documentation index, see [llms.txt](https://docs.yavuzlar.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.yavuzlar.org/egitim/c-plus-plus/2.0-fonksiyonlar/1.10-booleans.md).

# 1.10 Booleans

C++ dilinde Booleans (Boolean veri türü), iki farklı değeri temsil edebilen bir veri türüdür: `true` ve `false`. `bool`anahtar kelimesi ile tanımlanır ve bu veri türü genellikle mantıksal ifadeleri değerlendirmek ve karşılaştırma işlemlerinde kullanılır.

#### 1. **Temel Tanım**

C++’da Boolean veri türü, `true` ve `false` olmak üzere iki farklı değere sahip olabilir:

```cpp
bool isCodingFun = true;
bool isMathHard = false;
```

Bu örnekte, `isCodingFun` değişkeni `true` değerini alırken, `isMathHard` değişkeni `false` değerini alır.

#### 2. **Boolean Değerleri ve Sayısal Temsil**

C++ dilinde `true` değeri dahili olarak `1`, `false` değeri ise `0` olarak temsil edilir. Bu sayısal karşılıklar sayesinde Boolean ifadeleri koşul kontrollerinde veya döngülerde kolayca kullanılabilir.

```cpp
bool isEven = (4 % 2 == 0);  // isEven true olur çünkü 4'ün 2'ye bölümünden kalan 0'dır.
bool isGreater = (5 > 10);   // isGreater false olur çünkü 5, 10'dan büyük değildir.
```

#### 3. **Koşul İfadeleri ve Boolean Kullanımı**

Booleans, koşul ifadelerinde (`if` ve `else if`) kullanılarak bir işlemin gerçekleşip gerçekleşmeyeceğini belirlemede önemli bir rol oynar.

```cpp
bool isRaining = true;

if (isRaining) {
    cout << "Şemsiye almalısınız." << endl;
} else {
    cout << "Hava güzel, şemsiye gerek yok." << endl;
}
```

Yukarıdaki örnekte `isRaining` değişkeni `true` olduğu için `if` bloğundaki ifade çalışır ve "Şemsiye almalısınız." çıktısını verir.

#### 4. **Boolean İfadelerin Çıktısı**

C++'da bir Boolean değeri `cout` ile ekrana yazdırılırken, `true` değeri `1` olarak ve `false` değeri `0` olarak görüntülenir:

```cpp
bool isSunny = false;
cout << isSunny;  // Çıktı: 0
```

Eğer `true` olarak bir değer ekrana yazdırılsaydı, bu `1` olarak görüntülenirdi.

#### 5. **Kıyaslama Operatörleri ve Boolean**

Boolean veri türü genellikle kıyaslama işlemlerinde kullanılır. Kıyaslama operatörleri, iki değeri karşılaştırır ve sonucu Boolean bir değer olarak döner:

* `==` (eşittir)
* `!=` (eşit değildir)
* `>` (büyüktür)
* `<` (küçüktür)
* `>=` (büyük eşittir)
* `<=` (küçük eşittir)

```cpp
int x = 10;
int y = 20;
cout << (x > y);  // false (0) döner, çünkü 10, 20'den büyük değildir.
cout << (x == y); // false (0) döner, çünkü 10, 20'ye eşit değildir.
cout << (x < y);  // true (1) döner, çünkü 10, 20'den küçüktür.
```

#### 6. **Boolean Mantıksal Operatörler**

Mantıksal operatörler Boolean ifadeleri birleştirmek için kullanılır:

* `&&` (ve): İki koşulun da `true` olması gerekir.
* `||` (veya): Koşullardan en az birinin `true` olması yeterlidir.
* `!` (değil): Koşulun tam tersini alır.

```cpp
bool condition1 = true;
bool condition2 = false;

cout << (condition1 && condition2);  // false (0) döner, çünkü ikisi de true değil.
cout << (condition1 || condition2);  // true (1) döner, çünkü en az biri true.
cout << !condition1;                 // false (0) döner, çünkü condition1'in tersi false olur.
```
