C++ 'da aritmetik operatörler öncelik sıralaması matematikteki gibidir. Çarpma ve bölme toplama ve çıkarmaya göre daha yüksek önceliklidir, işlemler her yerde olduğu gibi burada da soldan sağa doğru yapılır. Öncelikli yapmak istediğimiz işlemleri paranteze alarak öncelik sıralamasında yukarı taşımak mümkündür, dediğimiz gibi matematikte nasılsa C++ da da öyledir.
Örneklendirelim :
// bir küresel kabuğun hacmini hesaplamak için dıştan hesaplanan hacimden // içten hesaplanan hacim çıkartılır double R = 13; double r = 11; double pi = 3.1415f; double vol = 4.0 * pi * R * R * R / 3.0 - 4.0 * pi * r * r * r / 3.0;
sırasıyla, dış kürenin hacmini hesaplayacak, sonra iç kürenin hacmini hesaplayacak, sonrasında sonuçları birbirinden çıkartacak. Sonuç : 3627.39
toplama için :
int x = 4 + 4 / 2; // 6 döner int y = (5 + 5) / 2; // 5 döner
çarpım için :
int x = 3 + 6 / 3 * 2; // 3+((6/3)*2) -> 7 döner int y = (3 + 6) / 3 * 2; // ((3+6)/3)*2 -> 6 döner
bölme ve kalan (modulus) için :
int x = 4 - 4 % 1; // 4 - ( 4 % 1 ) -> 4 - 0 = 4 döner int y = 4 - 4 / 1 % 3; // 4 - ((4/1) % 3) 3 döner int w = 4 - (4 / 1) % 3; // yorumlarda görüşelim int q = 4 - (4 / (1 % 3)); // bu ikisini size bırakıyorum
Herkese kolay gelsin!
Önceki konu : C++ Unary Operatörler ve öncelikleri
Sonraki konu : C++ Floating Point Aritmetik