Erlang - Operadores Bitwise

A seguir estão os operadores bit a bit disponíveis em Erlang.

Sr. Não. Operador e descrição
1

band

Este é o operador “e” bit a bit

2

bor

Este é o operador bit a bit “ou”

3

bxor

Este é o bit a bit “xor” ou Exclusivo ou operador

4

bnot

Este é o operador de negação bit a bit

A seguir está a tabela de verdade mostrando esses operadores -

p q p & q p | q p ^ q
0 0 0 0 0
0 1 0 1 1
1 1 1 1 0
1 0 0 1 1

O fragmento de código a seguir mostra como os vários operadores podem ser usados.

Exemplo

-module(helloworld). 
-export([start/0]). 

start() -> 
   io:fwrite("~w~n",[00111100 band 00001101]), 
   io:fwrite("~w~n",[00111100 bxor 00111100]), 
   io:fwrite("~w~n",[bnot 00111100]), 
   io:fwrite("~w~n",[00111100 bor 00111100]).

O resultado do programa acima será -

Resultado

76
0
-111101
111100