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

  • ASUS

    ASUS

    22 EKİM 2005
  • ELPRESADOR

    ELPRESADOR

    21 HAZİRAN 2008
  • MkElite

    MkElite

    13 NİSAN 2012