Elixir - 位运算符


位运算符作用于位并执行逐位运算。Elixir 提供了按位模块作为Bitwise包的一部分,因此为了使用这些模块,您需要使用按位模块。要使用它,请在 shell 中输入以下命令 -

use Bitwise

对于以下示例,假设 A 为 5,B 为 6 -

操作员 描述 例子
&&& 如果两个操作数中都存在,则按位与运算符会复制一个位到结果中。 A &&& B 将给出 4
||| 按位或运算符复制一个位到结果(如果它存在于任一操作数中)。 一个||| 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
elixir_operators.htm