我&最近在Ruby 看到了这个标志,经过一段时间的搜索,我无法在网上找到解释.
如:
62 & 15 #=> 14
Run Code Online (Sandbox Code Playgroud)
此Fixnum#&方法&在Ruby中用作bitwise和()运算符.
的&(按位 AND)操作其第一操作数的每个比特进行比较,以所述第二操作数的相应位.如果两个位均为1,则结果的相应位设置为1.否则,它将相应的结果位设置为0.
两个操作数必须具有整数或枚举类型.执行每个操作数的常规算术转换.结果与转换的操作数具有相同的类型.
由于按位AND运算符具有关联和可交换属性,因此编译器可以在包含多个按位AND运算符的表达式中重新排列操作数.
以下示例显示a,b的值,以及表示为16位二进制数的a&b的结果:
bit pattern of a 0000000001011100
bit pattern of b 0000000000101110
bit pattern of a & b 0000000000001100
Run Code Online (Sandbox Code Playgroud)
注意:按位AND(&)不应与逻辑AND混淆.(&&)运算符.例如,
1 & 4 evaluates to 0
Run Code Online (Sandbox Code Playgroud)
而
1 && 4 evaluates to true
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
102 次 |
| 最近记录: |