C++ Operators

by ck
0 yorum

Operators (Operatörler)

Operatör, derleyiciye belirli matematiksel veya mantıksal manipülasyonlar gerçekleştirmesini söyleyen bir semboldür. C ++ yerleşik operatörler açısından zengindir ve aşağıdaki operatör türlerini sağlar.

  • Arithmetic Operators (Aritmetik operatörler)
  • Relational Operators (İlişkisel Operatörler)
  • Logical Operators (Mantıksal operatörler)
  • Bitwise Operators (Bitsel İşleçler)
  • Assignment Operators (Atama Operatörleri)
  • Misc Operators (Çeşitli Operatörler)

Arithmetic Operators (Aritmetik operatörler)

Aritmetik operatörler, işlenenlerde (operands) aritmetik/matematiksel işlemleri gerçekleştirmek için kullanılan operatörlerdir. Örnekler: (+, -, *, /,%, ++, -). Aritmetik işleç iki türdür:

  1. Tekli operatörler: Tek bir işlenenle çalışan veya tek işlenenle çalışan işleçler tekli işleçlerdir. Örneğin: (++, -)
  2. İkili operatörler: İki işlenenle çalışan veya iki işlenenle çalışan işleçler ikili işleçlerdir. Örneğin: (+, -, *, /)

Aşağıdaki tablo X değişkeninin 15 ve Y değişkeninin 30 atayalım. Buna göre de İlişkisel işlemleri gerçekleştirelim.

Operatör AçıklamaÖrnek
+İki işlenen toplar. X + Y sonuç 45
İkinci işleneni ilkinden çıkarır. X -Y sonuç -15
*Her iki işleneni çarpar. X * Y sonuç 450
/Payı paydaya böler. Y / X sonuç 2
%Modül operatörü ve tamsayıdan sonra kalan kısım. Başka bir ifadeyle mod alma işlemidir. Y % X sonuç 0
++Artırma operatörü, tamsayı değerini bir arttırır X++ sonuç 16
Azaltma operatörü, tamsayı değerini bir azaltır. Y– sonuç 29

Relational Operators (İlişkisel Operatörler)

İlişkisel operatörler iki işlenen(operand)  arasındaki ilişkiyi kontrol eder. İlişki doğruysa 1, yanlışsa 0 döndürür.


Aşağıdaki tablo X değişkeninin 15 ve Y değişkeninin 30 atayalım. Buna göre de İlişkisel işlemleri gerçekleştirelim.

OperatörAçıklamaÖrnek
==İki ifade birbirine eşittir.(x == y) yanlış
!=İki ifade birbirine eşit değildir.(x != y) doğru
>Büyük(x > y) yanlış
<Az(x < y) doğru
>=Büyük veya eşit(x >= y) yanlış
<=Küçük veya eşit.(x <= y) doğru

Logical Operators (Mantıksal operatörler)


Mantıksal Operatörler, iki veya daha fazla koşulu / kısıtlamayı birleştirmek veya orijinal durumun değerlendirmesini göz önüne almak için kullanılır. Mantıksal bir operatörün çalışmasının sonucu, true veya false olan bir boole değeridir. Örneğin, C veya C ++ ‘da ‘&&’ operatörü olarak temsil edilen mantıksal AND, dikkate alınan her iki koşul da sağlandığında true değerini döndürür.

Aşağıdaki tablo X değişkeninin 1 ve Y değişkeninin 0 atayalım. Buna göre de İlişkisel işlemleri gerçekleştirelim.

OperatörAçıklamaÖrnek
&&Her iki işlenen de sıfır değilse, koşul gerçekleşir. Mantıksal operatörü VE (AND) işlemi yapmaktadır. (x && y) doğru
||İşlenenlerden biri veya her ikisi sıfırdan farklıysa, koşul doğru olur. Mantıksal operatörü VEYA (OR) işlemi yapmaktadır. (x || y) doğru
!Durumu tersine çevirmek için kullanılır. Eğer bir koşul doğruysa,! yanlış yapar ve tersi de geçerlidir. Mantıksal operatörü DEĞİL (NOT) işlemi yapmaktadır. !(x && y) doğru

Bitwise Operators (Bitsel İşleçler)

Bitsel işleçleri, işlenenlerde bit düzeyi işlemleri gerçekleştirmek için kullanılır. İşleçler önce bit düzeyine dönüştürülür ve daha sonra hesaplama işlenenlerde gerçekleştirilir. Toplama, çıkarma, çarpma vb. Gibi matematiksel işlemler, daha hızlı işlem için bit düzeyinde gerçekleştirilebilir. Örneğin, C veya C ++ ‘da & operatörü olarak gösterilen bitsel AND, iki sayıyı işlenen olarak alır ve iki sayının her bitinde AND yapar. AND sonucu yalnızca her iki bit 1 olduğunda 1’dir.

OperatörAçıklama
&İkili (Binary) AND Operatörü
|İkili (Binary) OR Operatörü
^İkili (Binary) XOR
~İkili (Binary) Biri Tamamlayıcıdır
<<İkili (Binary) Sola Kaydırma Operatörü
>>İkili (Binary) Sağa Kaydırma Operatörü

Bitsel işleci bitler üzerinde çalışır ve bit-bit işlemi gerçekleştirir. &, | and ^ için doğruluk tabloları aşağıdaki gibidir.

pqp & qp | qp ^ q
00000
01011
11110
10011

Örnek:

#include <iostream>
using namespace std;

int main() 
{ 
    //x = 16(00010000)
    //y = 87(01010111) 
    
    unsigned int x = 16;
    unsigned int y = 87; 
    int t=0;
  
    // 16’nın ikili (binary) değeri 00010000 
    t = (x & y);
    cout<< t << endl; 
  
    // 87’nin ikili (binary) değeri 01010111 
    t = (x | y);
    cout << t << endl; 
  
    // 71’in ikili (binary) değeri 01000111 
    t = (x ^ y);
    cout << t << endl; 
  
    // -88’in ikili (binary) değeri 01011000 
    t = ~ y;
    cout << t << endl;  
  
    // 32’nin ikili (binary) değeri 00100000 
    t = (x << 1);
    cout << t << endl; 
  
    // 43’ün ikili (binary) değeri 00101011 
    t = (y >> 1);
    cout << t << endl; 
    return 0; 
}

Çıktı:

16                                                                                                                                                          
87                                                                                                                                                          
71                                                                                                                                                          
-88                                                                                                                                                         
32                                                                                                                                                          
43

Assignment Operators (Atama Operatörleri)

Atama işleçleri, bir değişkene değer atamak için kullanılır. Atama operatörünün sol taraftaki işleneni değişkendir ve atama operatörünün sağ taraftaki işleneni bir değerdir. Sağ taraftaki değer, sol taraftaki aynı veri türü değişkeninde olmalıdır, aksi takdirde derleyici bir hata oluşturur.

Atama işleçleri, sağ taraftaki işlenenlerinden sol taraftaki işlenenlere değerler atamak için kullanılır. En yaygın atama işleci = (eşittir).X = 15 yazarsak; “x” değişkenine “15” değeri atadığımız anlamına gelir.

OperatörAçıklamaÖrnek
=Sağ işlenenin değerini sol işlenene atar. T = X+Y ile T = X + Y ifade aynı şeyi ifade eder.
+=Sağ işlenenin değerini sol işlenene ekler ve son değeri sol işlenene atar. T += X ile T= T + X ifade aynı şeyi ifade eder.
-=Sağ işlenenin değerini sol işlenenden çıkarır ve son değeri sol işlenene atar. T -= X is ile  T = T – X ifade aynı şeyi ifade eder.
*=Sağ işlenen değerini sol işlenene çarpar ve son değeri sol işlenene atar. T *= X ile T= T * X ifade aynı şeyi ifade eder.
/=Sol işlenenin değerini sağ işlenenden ayırır ve son değeri sol işlenene atar. T /= X ile T= T / X ifade aynı şeyi ifade eder.
%=İki işleneni kullanarak modülü alır ve sonucu sol işlenene atar. T %= X ile T= T % X ifade aynı şeyi ifade eder.

Misc Operators (Çeşitli Operatörler)

Aşağıdaki tabloda, C ++ tarafından desteklenen diğer işleçler listelenmektedir.

OperatörAçıklama
sizeofsizeof operatörü bir değişkenin boyutunu döndürür.
Condition ? X : YKoşullu operatör (?). Koşul true olursa, X değerini döndürür, aksi takdirde Y değerini döndürür.
,Virgül operatörü bir dizi işlem yapılmasına neden olur. Tüm virgül ifadesinin değeri, virgülle ayrılmış listenin son ifadesinin değeridir.
. (dot) and -> (arrow) Üye operatörleri, sınıfların, yapıların ve sendikaların bireysel üyelerine referans vermek için kullanılır.
CastDöküm işleçleri bir veri türünü diğerine dönüştürür. Örneğin, int (5.5000) 5 değerini döndürür.
&İşaretçi operatörü & bir değişkenin adresini döndürür. Örneğin & a; değişkenin gerçek adresini verecektir.
*İşaretçi operatörü * bir değişkenin göstergesidir. Örneğin * var; değişken bir değişkene işaret eder.

Şunlar da hoşunuza gidebilir

Yorum Yap

Web sitemizde size en iyi deneyimi sunabilmemiz için çerezleri kullanıyoruz. Bu siteyi kullanmaya devam ederseniz, bunu kabul ettiğinizi varsayarız. Kabul Et Gizlilik Politikası