- Puan
- 28
- Yaş
- 118
Operatörler: Bilgisayar Matematiksel ve Mantıksal İşlemleri Nasıl Yapar?
Birçok kişi operatörleri sadece:
Kod:
+
-
*
/
Ancak C dilinde operatörler programlamanın temel yapı taşlarından biridir.
Bir programın karar vermesi, hesaplama yapması, döngülere girmesi, veri karşılaştırması yapması ve hatta işlemci seviyesinde bit manipülasyonu gerçekleştirmesi operatörler sayesinde olur.
Bu bölümde operatörleri yüzeysel değil, mantığıyla öğreneceğiz.
Operatör Nedir?
Operatör, veriler üzerinde işlem yapan semboldür.Örneğin:
5 + 3Burada:
Kod:
5 ve 3 → Operand
+
→ Operatör
8olur.
Aritmetik Operatörler
Günlük matematikte kullandıklarımızdır.| Operatör | Anlamı |
|---|---|
| + | Toplama |
| - | Çıkarma |
| * | Çarpma |
| / | Bölme |
| % | Mod Alma |
Toplama Operatörü
Kod:
int a = 10;
int b = 5;
int sonuc = a + b;
printf("%d", sonuc);
15Çıkarma Operatörü
Kod:
int a = 20;
int b = 7;
printf("%d", a - b);
13Çarpma Operatörü
Kod:
int a = 5;
int b = 4;
printf("%d", a * b);
20Bölme Operatörü
Kod:
int a = 10;
int b = 2;
printf("%d", a / b);
5Tehlikeli Nokta: Tam Sayı Bölmesi
Birçok yeni başlayan burada hata yapar.Örnek:
Kod:
int a = 5;
int b = 2;
printf("%d", a / b);
2.5bekler.
Ama sonuç:
2olur.
Çünkü:
inttam sayı tutar.
Ondalık kısmı atılır.
Doğru Kullanım
Kod:
float a = 5;
float b = 2;
printf("%f", a / b);
2.500000Mod Operatörü (%)
Kalanı verir.Örnek:
10 % 3Normal bölme:
10 / 3 = 3Kalan:
1Sonuç:
printf("%d", 10 % 3);1Mod Operatörü Nerelerde Kullanılır?
Çift sayı kontrolü:
Kod:
if(sayi % 2 == 0)
{
printf("Cift");
}
Tek sayı kontrolü:
Kod:
if(sayi % 2 != 0)
{
printf("Tek");
}
Atama Operatörü (=)
Birçok kişi bunu eşittir sanır.Ama değildir.
int x = 10;şu anlama gelir:
10 değerini x değişkenine ataKarşılaştırma Operatörleri
İki değeri karşılaştırırlar.Eşit mi?
==Örnek:
5 == 5Sonuç:
DoğruEşit Değil mi?
!=Örnek:
5 != 3Sonuç:
DoğruBüyük mü?
>Örnek:
10 > 5Sonuç:
DoğruKüçük mü?
<Örnek:
3 < 8Sonuç:
DoğruBüyük Eşit mi?
>=Örnek:
10 >= 10Sonuç:
DoğruKüçük Eşit mi?
<=Örnek:
5 <= 7Sonuç:
DoğruKarşılaştırmaların Sonucu Nedir?
C dilinde:
Kod:
0 = False
1 = True
Örnek:
printf("%d", 5 == 5);Çıktı:
1printf("%d", 5 == 10);Çıktı:
0Mantıksal Operatörler
Karar mekanizmalarının temelidir.AND Operatörü (&&)
İki koşul da doğru olmalıdır.Örnek:
Kod:
if(yas > 18 && puan > 70)
{
printf("Basarili");
}
Doğruluk Tablosu
Kod:
A B Sonuç
1 1 1
1 0 0
0 1 0
0 0 0
OR Operatörü (||)
Birinin doğru olması yeterlidir.
Kod:
if(admin == 1 || moderator == 1)
{
printf("Yetkili");
}
Doğruluk Tablosu
Kod:
A B Sonuç
1 1 1
1 0 1
0 1 1
0 0 0
NOT Operatörü (!)
Sonucu tersine çevirir.!1Sonuç:
0!0Sonuç:
1Örnek:
Kod:
if(!girisYapildi)
{
printf("Lutfen giris yapin");
}
Artırma Operatörü (++)
Bir değişkeni 1 artırır.Post Increment
Kod:
int x = 5;
x++;
6Pre Increment
++x;Yine:
6olur.
Aralarındaki Fark
Kod:
int x = 5;
printf("%d", x++);
5Sonra:
x = 6olur.
Kod:
int x = 5;
printf("%d", ++x);
6olur.
Azaltma Operatörü (--)
x--;veya
--x;değeri 1 azaltır.
Kısaltılmış Atama Operatörleri
Normal kullanım:
x = x + 5;Kısa kullanım:
x += 5;Örnek:
x -= 5;x *= 5;x /= 5;x %= 5;Operatör Önceliği
Bilgisayar işlemleri belirli sırayla yapar.Örnek:
5 + 3 * 2Sonuç:
11Çünkü:
Kod:
3 * 2 = 6
5 + 6 = 11
Parantez Kullanımı
(5 + 3) * 2Sonuç:
16olur.
Bitwise Operatörlere Giriş
İleri seviyeye geçişin başlangıcıdır.Bilgisayar tüm verileri bit olarak saklar.
Örneğin:
5ikilik sistemde:
00000101şeklindedir.
Bitwise AND (&)
Örnek:
Kod:
5 = 0101
3 = 0011
Kod:
0101
0011
----
0001
1Kod:
printf("%d", 5 & 3);Sonuç:
1Bitwise OR (|)
Kod:
0101
0011
----
0111
7Kod:
printf("%d", 5 | 3);Bitwise XOR (^)
Aynıysa:0Farklıysa:
1Örnek:
Kod:
0101
0011
----
0110
6Bitwise NOT (~)
Bitleri ters çevirir.00000101↓
11111010Sola Kaydırma (<<)
5 << 1İkilik:
00000101↓
00001010Sonuç:
10Sağa Kaydırma (>>)
20 >> 1İkilik:
00010100↓
00001010Sonuç:
10Gerçek Hayatta Nerede Kullanılır?
Bitwise operatörler:- İşletim sistemlerinde
- Ağ programlamada
- Oyun motorlarında
- Mikrodenetleyicilerde
- Sürücü geliştirmede
- Siber güvenlik araçlarında
- Tersine mühendislikte
Sık Yapılan Hatalar
Hata 1
if(x = 5)Burada karşılaştırma yapılmıyor.
Atama yapılıyor.
Doğrusu:
if(x == 5)Hata 2
5 / 2Sonuç:
2olur.
Yeni başlayanlar genellikle:
2.5bekler.
Hata 3
x++ile
++xaynı sanmak.
Bazı durumlarda sonuç tamamen farklı olabilir.
Bölüm Özeti
Bu bölümde:öğrendik.
Bir sonraki bölümde if, else, else if, switch-case ve programların nasıl karar verdiği konularını detaylı şekilde inceleyeceğiz. Bu bölümden sonra yazdığınız programlar artık kullanıcıya göre farklı davranmaya başlayacak.