2013-10-18 186 views
-3

我看着它轉換ByteArrayintthis話題的方法,我覺得有點困惑,當我看着這條線:<<什麼意思?

ret[2] = (byte) ((a >> 8) & 0xFF);
如果>>運營商意味着此相同,當我們一起工作>運營商INT /浮動..?當它們不相等時,它的意義是什麼?

+2

搜索'java運營商'。 –

+0

這意味着,不是一個好問題,並閱讀[java運營商](http://docs.oracle.com/javase/tutorial/java/nutsandbolts/operators.html)文檔。 –

+0

是的,我得到它http://www.tutorialspoint.com/java/java_basic_operators.htm我不知道我是否應該刪除這個主題 – MyWay

回答

3
8 >> 2 = 2 
8 >> 3 = 1 

在二進制

00001000 >> 2 = 00000010 
00001000 >> 3 = 00000001 

而且

1 << 2 = 4 
1 << 3 = 8 

在二進制:

00000001 << 2 = 00000100 
00000001 << 3 = 00001000 

使用〜否定:

byte b = ~01001000 

然後 b爲10110111

的&操作有點交集

10010101 & 01010011 = 00010001 

和許多其他運營商的存在,這是一個非常強大的方式做很多事

-1

右移>>操作符將左操作數向右側移動,其符號擴展的右側操作數指定的位數。這意味着n位置的值被移到右邊,導致包含與未移位值相同值的n個高位。這個操作符永遠不會拋出異常。

>雖然操作者簡單地用於比較