我不明白這個理解XOR邏輯運算符
2.0.0p247 :616 > 5^2
=> 7
2.0.0p247 :617 > 5^1
=> 4
什麼7,並在這些方案4分的手段?
我嘗試在這裏閱讀http://en.wikipedia.org/wiki/Exclusive_disjunction,但無法通過查看圖表來看出什麼是減法。對不起,如果這是簡單的數學問題。
我不明白這個理解XOR邏輯運算符
2.0.0p247 :616 > 5^2
=> 7
2.0.0p247 :617 > 5^1
=> 4
什麼7,並在這些方案4分的手段?
我嘗試在這裏閱讀http://en.wikipedia.org/wiki/Exclusive_disjunction,但無法通過查看圖表來看出什麼是減法。對不起,如果這是簡單的數學問題。
它與值的二進制表示形式有關。
5 = 0101
2 = 0010
1 = 0001
現在XOR是這樣的:
0^0 = 0
0^1 = 1
1^0 = 1
1^1 = 0
這樣計算5^2,讓我們應用^
操作每一列:
0101 (this is 5)
0010 (this is 2)
----
0111 ==> which is the binary representation of 7
是如何發揮作用?在最左邊一列中,我們計算了0^0=0
。在第二欄中,1^0=1
。在第三列0^1=1
中,依此類推。
和5^1
0101 (this is 5)
0001 (this is 1)
----
0100 ==> which is the binary represenation of 4
這是Ruby的獨家行爲?爲什麼不標記它[標籤:語言不可知]? –
http://en.wikipedia.org/wiki/Bitwise_operation#XOR –