在ruby中做什么和做什么(在整数之间)

jay*_*jay 2 ruby syntax operators

我想知道用例中的内容和用途:

7 & 3 
   => 3

8 & 3
   => 0
Run Code Online (Sandbox Code Playgroud)

或者在一般用例中看到:

 Integer & Integer
    => ??
Run Code Online (Sandbox Code Playgroud)

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

ham*_*mar 7

&是按位AND,它逐位检查两个操作数,并将每个结果位设置为1是否相应的输入位都是1,0否则.您也可以将其视为逐位乘法.

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

    1000 (8)
AND 0011 (3)
------------
=   0000 (0)
Run Code Online (Sandbox Code Playgroud)