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

  • Huot Media

    Huot Media

    7 Mayıs 2010
  • SegaAmerica

    SegaAmerica

    5 Mart 2008
  • wwjoshdo

    wwjoshdo

    25 Mayıs 2009