Elixir - Opérateurs au niveau du bit

Les opérateurs au niveau du bit travaillent sur les bits et effectuent des opérations bit par bit. Elixir fournit des modules au niveau du bit dans le cadre du packageBitwise, donc pour les utiliser, vous devez utiliser le module bitwise. Pour l'utiliser, entrez la commande suivante dans votre shell -

use Bitwise

Supposons que A soit 5 et B soit 6 pour les exemples suivants -

Opérateur La description Exemple
&&& L'opérateur et au niveau du bit copie un peu le résultat s'il existe dans les deux opérandes. A &&& B donnera 4
||| L'opérateur ou au niveau du bit copie un peu le résultat s'il existe dans l'un ou l'autre des opérandes. A ||| B donnera 7
>>> L'opérateur de décalage vers la droite au niveau du bit décale les premiers bits d'opérande vers la droite du nombre spécifié dans le deuxième opérande. A >>> B donnera 0
<<< L'opérateur de décalage gauche au niveau du bit décale les premiers bits d'opérande vers la gauche du nombre spécifié dans le deuxième opérande. A <<< B donnera 320
^^^ L'opérateur XOR au niveau du bit copie un bit dans le résultat uniquement s'il est différent sur les deux opérandes. A ^^^ B donnera 3
~~~ Unaire au niveau du bit n'inverse pas les bits sur le nombre donné. ~~~ A donnera -6

Exemple

Essayez le code suivant pour comprendre tous les opérateurs arithmétiques d'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))

Le programme ci-dessus génère le résultat suivant -

a &&& b 4
a ||| b 7
a >>> b 0
a <<< b 320
a ^^^ b 3
~~~a -6