2012-11-21 27 views
2

我想知道什么&确实在用例:&是什么在红宝石做(整数之间)

7 & 3 
    => 3 

8 & 3 
    => 0 

或者像出现在一般使用情况下:

Integer & Integer 
    => ?? 

我知道数组array2给出了两个数组之间的交集,但是我不确定在使用整数时到底发生了什么。

+0

将鼠标悬停在“ruby”标签上。点击弹出窗口底部的[“info”链接](http://stackoverflow.com/tags/ruby/info)。请享用! – 2012-11-21 05:37:32

回答

7

&是按位与它检查两个操作数的位逐位,并设置每个结果位1如果两个相应的输入位是1,并0否则。你也可以把它看成是逐位乘法。

 111 (7) 
AND 011 (3) 
------------ 
= 011 (3) 

    1000 (8) 
AND 0011 (3) 
------------ 
= 0000 (0)