Operadores bit a bit em C [com exemplo de codificação]
Publicados: 2020-10-26Índice
Introdução
Os operadores são componentes essenciais de todas as linguagens de programação. Eles são os símbolos que são usados para realizar certas operações lógicas, matemáticas ou outras operações de programação. C fornece vários operadores para realizar várias operações, como aritmética, lógica e manipulação de bits. Existem oito tipos diferentes de operadores em C. São eles:
- Operadores aritméticos em C
- Operadores lógicos em C
- Operador condicional em C
- Operadores Relacionais em C
- Operadores de incremento e decremento em C
- Operadores bit a bit em C
- Operadores de atribuição em C
- Operadores especiais em C
Neste artigo, você aprenderá sobre os Operadores Bitwise em C e como implementá-los.
O que é um Operador Bitwise?
O Operador Bitwise em C é um tipo de operador que opera em matrizes de bits, strings de bits e ajusta valores binários com bits individuais no nível de bits. Para lidar com eletrônicos e operações relacionadas à IoT, os programadores usam operadores bit a bit. Ele pode operar mais rápido em um nível de bits.
O operador bit a bit em C realiza sua operação nos bits individuais de seu operando, onde operandos são valores ou expressões sobre as quais um operador opera. Esses operadores também são usados para executar as ações principais, bem como operações aritméticas de alto nível que requerem suporte direto do processador. Podemos ainda subcategorizar os operadores bit a bit em três subtipos com base em seus princípios de trabalho, lógicos (Bitwise AND, OR e XOR), Shift (Right Shift e left shift) e Complement (Bitwise NOT).
Existem seis diferentes Operadores Bitwise em C . Estes são:
· Operador AND bit a bit (&)

· Operador OR bit a bit (|)
· Operador OR exclusivo bit a bit (^)
· Complemento de um binário ou operador NOT bit a bit (~)
· Operador de deslocamento à esquerda bit a bit (<<)
· Operador de deslocamento à direita bit a bit (>>)
Usando operadores bit a bit, os programadores podem alterar os bits individuais de qualquer valor contido no operando. Podemos ver um único byte de memória do computador como 8 bits que significa o status verdadeiro ou falso de 8 sinalizadores. Operadores bit a bit geralmente são aplicados para definir valores de sinalizadores em sistemas operacionais e software de driver. Por exemplo, em uma propriedade de arquivo, o modo somente leitura é expresso conceitualmente como um bit sinalizador no sistema operacional e o operador bit a bit é usado para alternar entre o valor verdadeiro e o valor falso.
Aqui está uma tabela que mostra como o cálculo de operadores bit a bit resulta.
X | y | x & y | x | y | x ^ y |
0 | 0 | 0 | 0 | 0 |
0 | 1 | 0 | 1 | 1 |
1 | 0 | 0 | 1 | 1 |
1 | 1 | 1 | 1 | 0 |
Existem seis tipos diferentes de Operadores Bitwise em C . Estes são:
O bit a bit AND (&) em C: O compilador C reconhece o bit a bit AND com o operador &. Leva dois operandos e executa a operação AND para cada bit dos dois números de operandos. É um operador binário. A saída deste operador resultará em 1 somente se ambos os bits forem 1.
O Bitwise OR (|) em C: O compilador C reconhece o Bitwise OR com | operador. Leva dois operandos e executa a operação OR para cada bit dos dois números de operandos. É também um operador binário. A saída deste operador resultará em 1 se qualquer um dos dois bits for 1.

O Bitwise XOR (^) em C: O compilador C reconhece o Bitwise XOR com operador ^. Leva dois operandos e executa a operação XOR para cada bit dos dois números de operandos. É também um operador binário. A saída deste operador resultará em 1 se ambos os bits tiverem valores diferentes.
Operador Binary One's Complement ou Bitwise NOT (~) em C: O compilador C reconhece o Bitwise NOT com operador ~. Leva apenas um operando e realiza a inversão de todos os dígitos dele. É um operador unário. A saída deste operador irá inverter todos os bits existentes daquele operando.
Operador de deslocamento à esquerda bit a bit (<<) em C: O compilador C reconhece a operação de deslocamento à esquerda com este <<. Leva apenas dois operandos e desloca todos os bits do primeiro operando para a esquerda. O segundo operando decide quantos números de posições este operador irá deslocar seus bits. É um operador binário.
Operador de deslocamento à direita bit a bit (>>) em C: O compilador C reconhece a operação de deslocamento à esquerda com este >>. Leva apenas dois operandos e desloca todos os bits do primeiro operando para a direita. O segundo operando decide quantos números de posições este operador irá deslocar seus bits. É um operador binário.
Leia: Operadores em Python: um guia para iniciantes em aritmética, relacional, lógico e mais
Programa para operador bit a bit em C
Vamos agora dar uma olhada no programa usando todos os operadores bit a bit.
#include <stdio.h>
int main()
{
caractere não assinado x = 20, y = 21; // x = 20 (00010100), y = 21 (00010101)
intg = 0;
g = x & y; /* 20 = 010100 */
printf(” O resultado de E bit a bit é %d \n”, g );
g = x | y; /* 21 = 010101 */
printf(” O resultado do OR bit a bit é %d \n”, g );
g = x ^ y; /* 1 = 0001 */
printf(” O resultado do Bitwise XOR é %d \n”, g );
g = ~x;
printf(” O resultado de Bitwise NOT é %d \n”, g );
g = x << 1;
printf(” O resultado do deslocamento à esquerda bit a bit é %d \n”, g );
g = x >> 1;
printf(” O resultado do deslocamento à direita bit a bit é %d \n”, g );
retornar 0;
}
SAÍDA:
O resultado de Bitwise AND é 20
O resultado de Bitwise OR é 21
O resultado do Bitwise XOR é 1
O resultado de Bitwise NOT é -21

O resultado do deslocamento à esquerda bit a bit é 40
O resultado do deslocamento à direita bit a bit é 10
Leia também: Tutorial Python: Configuração, Ferramentas, Recursos, Aplicativos, Benefícios, Comparação
Conclusão
Os operadores bit a bit são um tipo específico de operadores em C usados para programação em nível de bit. É fundamental conhecer o uso do operador bit a bit, pois ele traz uma forma eficiente de economizar espaço na representação de dados. Os programadores usam esses operadores em vários campos, como programação de sistemas, programação embarcada e projeto de protocolos. Portanto, os programadores precisam conhecer seu uso.
upGrad traz programação com C e muito mais com o PG Diploma in Software Development Specialization in Full Stack Development do upGrad . Um programa para fazer você emergir como um desenvolvedor full stack e aprender a construir alguns dos aplicativos incríveis. É um extenso programa de 12 meses que inclui trabalhar em projetos e tarefas ao vivo e também treinar 15 linguagens e ferramentas de programação. Junto com ele, tem suporte de carreira de todos os tempos com entrevistas simuladas e assistência no trabalho.