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.

Aterre no seu emprego dos sonhos

UPGRAD E DIPLOMA PG DO IIIT-BANGALORE EM FULL STACK
Inscreva-se hoje