Kategoriler
C/C++

C++ Operatörler

Operatörler, derleyiciye belirli matematiksel ya da mantıksal işlemleri gerçekleştirmesini söyleyen sembollerdir. C++ yerleşik operatörler bakımından zengin bir programlama dilidir.

Aritmatik Operatörler

C++ programlama dili tarafından desteklenen 7 aritmatik operatör bulunur. (Örnekte x = 10 ve y = 20 olsun)

OperatörAçıklamaÖrnek
+Toplama operatörüdür.x + y; //30 verir
-Çıkarma operatörüdür.y – x; //10 verir
*Çarpma operatörüdür.x * y; //200 verir
/Bölme operatörüdür.y / x; //2 verir
%Mod (alma) operatörüdür.y % x; //0 verir
++Arttırma operatörüdür. Tamsayıyı 1 arttırır.x++; //11 verir
--Azaltma operatörüdür. Tamsayıyı 1 azaltır.x–; //9 verir

İlişkisel Operatörler

İlişkisel operatörler koşul operatörleri olarak da bilinir. Sağına ve soluna aldığı değerlerin birbirlerine göre durumunu sorgulamakta kullanılır. Koşul gerçekleşirse true, gerçekleşmezse false olur. C++ programlama dilinde 6 koşul operatörü bulunur. (Örnekte x = 10; y= 20; olsun.)

OperatörAçıklamaÖrnek
==Eşitse; iki değerin eşitliğini kontrol eder.(x == y) //false
!=Eşit değilse; iki değerin eşitliğini kontrol eder.(x != y) //true
>Büyükse; solundaki değerin sağındaki değerden büyüklüğünü kontrol eder.(x > y) //false
<Küçükse; solundaki değerin sağındaki değerden küçüklüğünü kontrol eder.(x < y) //true
>=Büyük eşitse; solundaki değerin sağındaki değerden büyük yada eşitliğini kontrol eder.(x >= y) //false
<=Küçük eşitse; solundaki değerin sağındaki değerden küçük yada eşitliğini kontrol eder.(x <= y) //true

Mantıksal Operatörler

C++ tarafından desteklenen 3 mantıksal operatör vardır. (Örnekte x = 1; ve y = 0; olsun.)

OperatörAçıklamaÖrnek
&&VE; Her iki işlenen de true ise koşul doğru olur.(x && y) //false
||VEYA; İki işlenenden herhangi biri true olduğundan koşul doğru olur.(x || y) //true
!DEĞİL; mantıksal durumu tersine çevirir.!(x && y) //true

Bitsel Operatörler

Bitsel operatör, bitler üzerinde çalışır ve bit bit işlem gerçekleştirir. &, | ve ^ doğrulu tabloları aşağıdaki gibidir;

pqp & qp | qp ^ q
00000
01011
11110
10011

x = 60; ve y = 13; olduğunu varsayalım.
x = 0011 1100
y = 0000 1101
—————–
x&y = 0000 1100
x|y = 0011 1101
x^y = 0011 0001
~x = 1100 0011

OperatörAçıklamaÖrnek
&İkili VE operatörü;
Her iki işlenen de de varsa,
sonuca biraz kopyalar.
(x & y) 0000 1100 olan 12’yi verir.
|İkili VEYA operatörü;
İşlenenlerden herhangi birinde varsa,
biraz kopyalar.
(x | y) 0011 1101 olan 61’i verir.
^İkili XOR operatörü;
Bir işlenende ayarlanmışsa,
ancak ikisinde birden değilse, biti kopyalar.
(x ^ y) 0011 0001 olan 49’u verir.
~Binary Ones Complement operatörü teklidir
ve bitleri ‘çevirme’ etkisine sahiptir.
(~x) imzalı bir ikili sayı nedeniyle 2’nin tümleyen formunda 1100 0011 olan -61 verir.
<<İkili sol kaydırma operatörü.
Sol işlenenlerin değeri,
sağ işlenen tarafından belirtilen bit sayısı kadar sola taşınır.
x << 2, 1111 0000 olan 240’ı verir.
>>İkili sağ kaydırma operatörü.
Sol işlenenlerin değeri,
sağ işlenen tarafından belirtilen bit sayısı kadar sağa taşınır.
x >> 2, 0000 1111 olan 15’i verir.

Atama Operatörleri

OperatörAçıklamaÖrnek
=Sol tarafındaki işlenene sağ tarafındaki değeri atar.x = a+b;
+=Ekle ve ata;
sağ işleneni sol işlenene ekler ve sonucu sol işlenene atar.
x += a; //x=x+a;
-=Çıkar ve ata;
sağ işleneni sol işlenenden çıkarır ve sonucu sol işlenene atar.
x -= a; //x=x-a;
*=Çarp ve ata;
sağ işleneni sol işlenen ile çarpar ve sonucu sol işlenene atar.
x *= a; //x=x*a;
/=Böl ve ata;
sol işleneni sağ işlenene böler ve sonucu sol işlenene atar.
x /= a; //x=x/a;
%=Mod al ve ata;
sol işlenin sağ işlenenden bölümünde kalanı sol işlenene atar.
x %= a; //x=x%a;
<<=Sola kaydırma ve atama operatörü.x <<= 2; //x=x<<2;
>>=Sağa kaydırma ve atama operatörü.x >>= 2; //x=x>>2;
&=Bit düzeyinde “VE” atama operatörü.x &= 2; //x=x&2;
^=Bit düzeyinde “VEYA” ve atama operatörüx ^= 2; //x=x^2;
|=Bit düzeyinde “VEYA” dahil ve atama operatörüx |= 2; //x=x|2;

Bir Cevap Yazın