Elixir - 位运算符
位运算符作用于位并执行逐位运算。 Elixir 提供按位模块作为 Bitwise 包的一部分,因此为了使用这些模块,您需要使用Bitwise(按位)模块。 要使用它,请在 shell 中输入以下命令 −
use Bitwise
对于以下示例,假设 A 为 5,B 为 6 −
运算符 | 描述 | 示例 |
---|---|---|
&&& | 按位与运算符复制一个位以得到结果(如果它存在于两个操作数中)。 | A &&& B 将给出 4 |
||| | 按位或运算符复制一个位以得到结果(如果它存在于任一操作数中)。 | A ||| B 将给出 7 |
>>> | 按位右移运算符将第一个操作数位向右移动第二个操作数中指定的数字。 | A >>> B 将给出 0 |
<<< | 按位左移运算符将第一个操作数位向左移动第二个操作数中指定的数字。 | A <<< B 将给出 320 |
^^^ | 仅当两个操作数不同时,按位异或运算符才会复制一位结果。 | A ^^^ B 将给出 3 |
~~~ | 一元按位不反转给定数字的位。 | ~~~A 将给 出-6 |
示例
尝试以下代码来了解 Elixir 中的所有算术运算符。
a = 5 b = 6 use Bitwise IO.puts("a &&& b " <> to_string(a &&& b)) IO.puts("a ||| b " <> to_string(a ||| b)) IO.puts("a >>> b " <> to_string(a >>> b)) IO.puts("a <<< b" <> to_string(a <<< b)) IO.puts("a ^^^ b " <> to_string(a ^^^ b)) IO.puts("~~~a " <> to_string(~~~a))
上面的程序生成以下结果 −
a &&& b 4 a ||| b 7 a >>> b 0 a <<< b 320 a ^^^ b 3 ~~~a -6