SORU
6 HAZİRAN 2012, ÇARŞAMBA


Nasıl shift operatörleri Java mı?

Shift operatörleri anlamaya çalışıyorum ve çok alamadım. Aşağıdaki kod yürütmek için çalıştı

System.out.println(Integer.toBinaryString(2 << 11));
System.out.println(Integer.toBinaryString(2 << 22));
System.out.println(Integer.toBinaryString(2 << 33));
System.out.println(Integer.toBinaryString(2 << 44));
System.out.println(Integer.toBinaryString(2 << 55));

Aşağıda olsun

1000000000000    
100000000000000000000000    
100    
10000000000000    
1000000000000000000000000    

Biri bunu açıklayabilir misiniz?

CEVAP
6 HAZİRAN 2012, ÇARŞAMBA


System.out.println(Integer.toBinaryString(2 << 11)); 

Sola kaydırır ikili 2(10) 11 kat. Dolayısıyla: 1000000000000

System.out.println(Integer.toBinaryString(2 << 22)); 

Vardiya ikili 2(10) sol 22 kat. Dolayısıyla : 100000000000000000000000

System.out.println(Integer.toBinaryString(2 << 33)); 

Şimdi, int 4 bayt,32 bit bu yüzden. 33, vardiya yaptığınızda karşılığı 1 vardiya. Dolayısıyla : 100

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Android Developers

    Android Deve

    9 Kasım 2007
  • Mary Jane Tauyan

    Mary Jane Ta

    20 AĞUSTOS 2009
  • Trevor Eckhart

    Trevor Eckha

    19 Aralık 2009