2016-03-29 44 views
1
int x = 1 << 25; 

"< <" ne anlama geliyor? Bunun ne olduğundan emin olmadığımda, benim ide bana bir hata vermese de .. Forumlara bakmayı ve googling yapmayı denedim ama bir çözüm bulamadım. Herhangi bir fikir?Java "<<" ne anlama geliyor?

+6

[Java Bitshift işlemleri] (https://docs.oracle.com/javase/tutorial/java/nutsandbolts/op3.html) –

+0

Ayrıca ileride başvurmak için arama yapmanıza olanak veren SymbolHound'u (bir arama motoru) kullanabilirsiniz. Sembolleri sıyırmadan. Örneğin, [bu] (http://symbolhound.com/?q=%3C%3C+java), bu soru için yaptığınız arama/sonuç olabilir –

cevap

2

Bu bir sol (bit) kaymasıdır. JLS-15.19. Shift operators

operatörleri << (sol kaydırma), >> (imzalı sağ vardiya) (kısmen) ve >>> (işaretsiz sağa kaydırma) kaydırma operatörleri denir söylüyor. Bir vardiya operatörünün sol işleneni, kaydırılacak değerdir; sağdaki işlenen, vardiya mesafesini belirtir. o tek 1 bitlik bir kez ve iki kez sırasıyla sol vardiya olarak

Basit bir örnek için,

1 
10 
100 

verir Hangi

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

düşünün.

s tarafından izlenen bir 1 senin örnekte

, int x = 1 << 25; (ikili veya ondalık 33554432).