Operatörler
[vc_row][vc_column][vc_column_text]
Operatörler çeşitli matematik işlemleri, sadece matematik işlemleri olmamakla birlikte, işlemler yapan semboller ve bazı anahtar kelimelerdir.
Operatörler farklı önceliklere sahiptir. Buna göre bir ifade içerisinde yer alan farklı operatörlerin işlemleri işlem önceliğine göre sırayla yapılır.
Operatörler işleme girecek madde sayısı bakımından ve hangi yöne doğru işleneceğine göre birbirinden ayrılabilir. Bazı operatörler bir nesne ile etkileşime girerken bazı operatörler iki nesne ile etkileşime girer. Aynı operatör hem tek hem de iki nesne ile etkileşime girerek farklı işlemler gerçekleştirebilir. Örneğin:
int m = -5; // Negatif sayi int a = 9 - 3; // Cikarma islemi
Atama Operatörleri
Bir değişkene aritmetik ifade atamak için kullanılan operatörlerdir.
Operatör | Açıklama | örnek | Sonuç |
= | Atama | x = 4 | x = 4 |
+= | Ekleyerek Atama | x += 2 | x = x+2 |
-= | Çıkartarak Atama | x -= 5 | x = x-5 |
*= | Çarparak Atama | x *= 6 | x = x*6 |
/= | Bölerek Atama | x /= 8 | x = x/8 |
%= | Bölüp, Kalanını Atama | x %= 3 | x = x%3 |
Operatörler değişkenler üzerinde matematiksel ve karşılaştırma işlemleri yapar.
Aritmetik Operatörler
Temel aritmetik işlemleri gerçekleştiren operatörlerdir.
Operatör | Açıklama | Örnek | Sonuç |
+ | Toplama | 13+6 | 19 |
– | Çıkarma | 21-1 | 20 |
* | Çarpma | 8*2 | 16 |
/ | Bölme | 36/4 | 9 |
% | Mod | 22%3 | 1 |
Karşılaştırma Operatörleri
Sayısal değerleri veya karakterleri karşılaştırmak için kullanılan operatörlerdir.
Operatör | Açıklama | Örnek | Anlamı |
> | Büyüktür | x > y | x, y’den büyük mü? |
< | Küçüktür | x < y | x, y’den küçük mü? |
== | Eşittir | x == y | x, y’ye eşit mi? |
>= | Büyük Eşittir | x >= y | x, y’den büyük yada eşit mi? |
<= | Küçük Eşittir | x ⇐ y | x, y’den küçük yada eşit mi? |
!= | Eşit Değildir | x != y | x, y’ye eşit değilse |
Mantıksal Operatörler
Birden fazla karşılaştırma işlemi, Mantıksal Operatörler’le birleştirilerek kullanılabilir.
Operatör | Açıklama | Örnek | Anlamı |
&& | VE | x>2 && x<y | x, 2 den büyük VE y den küçük mü? |
|| | VEYA | x>2 || x<y | x, 2 den büyük VEYA y den küçük mü? |
! | DEĞİL | !(x>2) | x, 2 den büyük değilse |
Virgül Operatörü
Virgül operatörü (,), yalnızca bir ifadenin beklendiği yerlerde bulunan iki veya daha fazla ifadeyi ayırmak için kullanılır. İfadeler dizisi bir değer için değerlendirildiğinde, yalnızca en sağdaki ifade düşünülür.
a=(b=3,b+2);
Önce b değişkenine 3 degerini atar ve sonra a ya b+2 değişkenini atar. Yani, sonunda,a 5 değerini alır, b 3 üç değerini alır.
Bit Düzeyinde Operatörler
Operatör | Assembly Karşılığı | Açıklama |
& | AND | AND işlemi |
| | OR | OR işemi |
^ | XOR | XOR işlemi |
~ | NOT | Değil Operatörü |
<< | SHL | Sola kaydırma |
>> | SHR | Sağa kaydırma |
Örneğin;
#include <iostream> main() { unsigned int a = 60; // 60 = 0011 1100 unsigned int b = 13; // 13 = 0000 1101 int c = 0; c = a & b; // 12 = 0000 1100 std::cout << "c: a&b (AND): " << c << std::endl ; c = a | b; // 61 = 0011 1101 std::cout << "c: a|b: (OR) " << c << std::endl ; c = a ^ b; // 49 = 0011 0001 std::cout << "c:a^b (XOR): " << c << std::endl ; c = ~a; // -61 = 1100 0011 std::cout << "c:~a (NOT) " << c << std::endl ; c = a << 2; // 240 = 1111 0000 //a'yı 2 bit sola kaydırıp c'ye atar std::cout << "c:a<<2 " << c << std::endl ; c = a >> 2; // 15 = 0000 1111 //a'yı 2 bit sağa kaydırıp c'ye atar. std::cout << "c:a>>2 " << c << std::endl ; return 0; }
Kapsam Çözümleme Operatör
#include <iostream> using namespace std; int x{5}; int main() { int x{10}; cout << x << endl; // Ekrana 10 yazdirir. cout << ::x << endl; // Ekrana 5 yazdirir. return 0; }
Kapsam çözünürlük operatörü ile farklı ad uzaylarındaki ifadelere ulaşılabilir. Aynı zamanda sınıfların içerisinde tanımlanmış static ifadelere de kapsam çözünürlük operatörü ile ulaşılır. Örneğin std ad uzayından nesneleri kullanmak için kapsam çözünürlük operatörü kullanılır.
namespace foo { int x; } int main() { std::cout << "foo = "; // std ad uzayindan cout nesnesi cagirilir. foo::x = 6; //olusturdugumuz foo ad uzayindan x nesnesi cagirilir. std::cout << x << std::endl; return 0; }
Diğer Operatörler
Operatör | Tanım |
sizeof | Değişkenin kapladığı alanı döndürür. Örneğin, sizeof(a), a int bir değer ise 4 döndürür |
Durum ? X : Y | Eğer durum doğru ise X değeri yanlış ise Y değeri döner |
. (nokta) ve -> (ok işareti) | Sınıf, struct ve unionlardaki elemanları göstermek için kullanılır |
& | Değişkenin adresini döndürür. Örneğin &a; a değişkeninin gerçek adresini verir. |
* | Değişkenin işaretçisidir. Örneğin *a; a değişkeninin işaretçisidir. |
[/vc_column_text][/vc_column][/vc_row][vc_row][vc_column width=”1/2″][vc_btn title=”Önceki Ders” color=”green” align=”left” i_icon_fontawesome=”fa fa-chevron-left” add_icon=”true” link=”url:https%3A%2F%2Fyapbenzet.org.tr%2Fcpp-karmasik-veri-turleri%2F|||”][/vc_column][vc_column width=”1/2″][vc_btn title=”Sonraki Ders” color=”green” align=”right” i_align=”right” i_icon_fontawesome=”fa fa-chevron-right” add_icon=”true” link=”url:https%3A%2F%2Fyapbenzet.org.tr%2Fcpp-karar-bildirimleri%2F|||”][/vc_column][/vc_row]