# 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.
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.yavuzlar.org/egitim/c-plus-plus/2.0-fonksiyonlar/1.10-booleans.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
