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

  • Dylan Brenan

    Dylan Brenan

    22 Aralık 2009
  • Epic Tutorials for iPhone, iPad and iOS

    Epic Tutoria

    18 EYLÜL 2011
  • Excel Video Tutorials

    Excel Video

    6 Aralık 2012