2014-03-01 36 views
2

它是如何工作的&帶數字的運算符? 例如:帶數字的Java運算符

x = 8 & 4; 

,答案是0

我怎麼能找到不使用Java或任何其他程序的答案嗎?

+1

http://en.wikipedia.org/wiki/Bitwise_operation#AND –

+1

And http://docs.oracle.com/javase/tutorial/java/nutsandbolts/op3.html –

+0

可能的重複[Difference between&和&&](http://stackoverflow.com/questions/5564410/difference-between-and) – timrau

回答

3

您可以找到不使用Java轉換的數字爲二進制格式的答案:

4 = 0100 
8 = 1000 

如果你對每一位執行與操作,您可以:

0 & 1 = 0 
1 & 0 = 0 
0 & 0 = 0 
0 & 0 = 0 

這就是爲什麼它是零。

3

的Java有三種「和」運營商 - 的邏輯之一,這是&&,按位一個,這是&,並且&boolean s,這不會短路。 Java編譯器可以通過檢查操作數的類型來區分各種操作符。

按位運算符取其操作數的二進制表示形式,對每個位執行「與」操作,並將結果作爲數字返回。

對於4和8所示,逐位「和」是零,因爲它們不具有共同1位:

00000100 -- 8 
    00001000 -- 4 
    -------- 
    & 00000000 -- 0 

對於其它號碼,比方說,22和5所示,其結果將是不同的:

00010110 -- 22 
    00000101 -- 5 
    -------- 
    & 00000100 -- 4 
+0

@fge你說得對,我固定了那部分。 – dasblinkenlight

1

&是按位和操作員...的8的二進制值和4是

8 = 1000 
4 = 0100 

,如果你知道你是怎麼和運營工作,然後知道

1 & 0 = 0; 

打完位與,會出現全0