O uso dos operadores bit-a-bit já foi estudado em Lógica de programação e Tutorial C . É importante entender sobre a
tabela verdade que foi explicado em
Tutorial Portugol: Operadores Lógicos
e Tutorial C: Operadores Lógicos.
Os operadores bitwise realizam as operações E, OU e OU Exclusivo e deslocamento sobre os bits de variáveis, valores ou expressões.
Essas operações retornam 0 ou 1 dependendo de suas tabelas verdades.
Deslocamento
Os operadores de deslocamento para direita ou esquerda (>>) e (<<) são usados para auxiliar na
recuperação de determinados bits de uma variável, valor ou expressão.
Tab. 5 - Operadores bitwise - deslocamento
| Operador |
Descrição |
Exemplo |
| >> |
Desloca N bits à direita |
a>>b |
| << |
Desloca N bits à esquerda |
a<<b |
Sintaxe
valor, expressao ou variavel operador qtd_bits
Exemplo 6
fn main()
{
let a = 4;
let b = 8;
let mut c;
c = a << 1;
println!("{}",c);
c = b >> 1;
println!("{}",c);
}
Saída
8
4
Lógicos
Os operadores & , | e ^, realizam as operações E, OU e OU Exclusivo nos bits de uma variável,
valor ou expressão. É necessário ter conhecimento da tabela verdade de cada operador para entender o funcionamento.
Tab. 5 - Operadores bitwise - deslocamento
| Operador |
Descrição |
Exemplo |
| & |
E bit-a-bit |
a & b |
| | |
OU bit-a-bit |
a | b |
| ^ |
OU Exclusivo |
A ^ B |
Exemplo 7
fn main()
{
let a = 1;
let b = 2;
let mut c;
c = a & b;
println!("{}",c);
c = a | b;
println!("{}",c);
c = a ^ b;
println!("{}",c);
}
Saída
1
3
2