06.03.2015 Views

Java Kitabı

JAva`nın çalışma mantığıyla başlayıp basitten gelişmişe iyi bir kaynak

JAva`nın çalışma mantığıyla başlayıp basitten gelişmişe iyi bir kaynak

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Öteleme (Shift) Operatörleri<br />

bit düzeyinde iĢlem yapan bir grup operatörün adı öteleme operatörleri olarak adlandırılırlar; bunlar >>, >><br />

ve >>> simgeleriyle gösterilmektedir. Öteleme operatörleri veri üzerindeki bitlerin sağa veya sola<br />

kaydırılması amacıyla kullanılır.<br />

AĢağıdaki örneğimiz bu operatörlerin <strong>Java</strong> uygulamalarında nasıl kullanılacaklarına ait bir fikir verebilir.<br />

Örnek: Bitwise.java<br />

public class Bitwise {<br />

}<br />

}<br />

public static void main( String args[] ) {<br />

int a = 9 ;<br />

System.out.println(“ (a >> 1) -->” + (a >> 1) );<br />

System.out.println(“ (a >> 2) -->” + (a >> 2) );<br />

System.out.println(“ (a ” + (a > 2) -->” + (a >>> 2) );<br />

Verilen örnekte a değiĢkenine 9 sayısı atanmıĢtır; bu sayının ikili karĢılığı aĢağıdaki gibi bulunur:<br />

Yani, 910 sayısının ikili tabandaki karĢılığı 1001 olmaktadır. Buna göre a değiĢkeni üzerinde öteleme<br />

operatörünün etkisi aĢağıda açıklandığı gibi olur: ()<br />

(a >> 1) Ģeklinde ifade ile, 9 sayısı ikili karĢılığı olan 1001 bitleri sağa doğru 1 basamak kaydırılır;<br />

_100, boĢlan yere 0 yerleĢtirildiğinde sonuç elde edilir; dolayısıyla 0100 elde edilir ve bunun ondalık<br />

karĢılığı 4 çıkar. ()<br />

(a >> 2) Ģeklinde ifade ile 9 sayısı ikili karĢılığı olan 1001 bitlerini sağa doğru 2 basamak kaydırılır;<br />

__10, boĢalan yerlere 0 yerleĢtirildiğinde sonuç elde edilir; dolayısıyla 0010 elde edilir ve bunun<br />

ondalık karĢılığı 2 çıkar. ()<br />

(a > 2) Ģeklinde verilen ifadenin (a >> 2) ile arasında sonuç olarak bir fark yoktur, sonuç olarak<br />

yine 2 elde edilir. ―>>>‖ operatörü iĢaretsiz (unsigned) sağa doğru kaydırıp yapar. ()<br />

Eğer char, byte, veya short tiplerinde kaydırım iĢlemi yapacaksanız bu tipler ilk önce int tipine<br />

dönüĢtürülürler. Eğer long tipinde kaydırma iĢlemi gerçekleĢtiriyorsanız o zaman yine long tipinde<br />

bir sonuç elde ederseniz. ()<br />

Uygulamanın sonucu aĢağıdaki gibi olur:.<br />

(a >> 1) -->4<br />

(a >> 2) -->2<br />

33

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!