Operadores Bit do Arduino

Operadores Bit do Arduino
Existem vários tipos de operadores usados ​​na programação Arduino para fazer diferentes condições. Essas condições regulam o fluxo do código projetado para executar uma tarefa específica. Um dos tipos mais importantes de operadores usados ​​na programação do Arduino são os operadores bit e, neste artigo, os operadores bit e seus tipos são explicados brevemente.

Operadores bitwise

Os operadores bitwise são usados ​​para aplicar os operadores booleanos nos decimais, convertendo -os no binário e, em seguida, esses operadores se aplicaram pouco a pouco no binário desse número. Para fins de ilustração, dois decimais 12 e 13 são tomados se os dois números forem convertidos em binário, os valores se tornarem (1100) e (1101), respectivamente.

Existem basicamente seis operadores bit -bit -weath que são:

  • E
  • OU
  • NÃO
  • Xor
  • desvio à esquerda
  • deslocamento para a direita

Bitwise e operador

O primeiro operador bit a bit é o operador que fornece a saída apenas quando ambas as entradas são uma ou verdadeira. O sinal para usar bitwise é “&”. Para uma compreensão mais aprofundada, a operação é aplicada nos valores binários de 12 e 13, respectivamente. A operação se aplica pouco a pouco aos binários dos números como o primeiro bit de 12 que é 1 vai e com o primeiro bit de 13 que também é um, de modo que o resultado da operação é um e assim por diante, o resultado disso e operação é (1100) ou seja, 12 se a convertermos em decimal.

Decimal 12 13
Binário 1100 1101
Operador (12 e 13)
Resultado (1100)
Binário a decimal 12

Bit nessa ou operador

O segundo operador que é ou quando aplicado nos números binários fornece um como saída quando apenas uma das entradas é 1, para que possamos dizer que a saída da OR Operação será zero somente quando ambas as entradas forem zero. O sinal usado para o operador ou é “|”. Para entender melhor a operação de ou podemos aplicar isso ou operador nos binários de 12 e 13.

O operador OR se aplica pouco a pouco nos binários de 12 e 13 como o primeiro bit de 13 é 1 e o primeiro bit de 12 também é um, então a saída também será a operação no resto. O resultado é (1101) que é então convertido em decimal que é 13

Decimal 12 13
Binário 1100 1101
Operador (12 | 13)
Resultado (1101)
Binário a decimal 13

Bitwise não operador

O operador não, ao contrário dos outros operadores, possui apenas uma entrada e saída e inverte a entrada. O sinal usado para representar o operador não é “~”. Aqui vamos usar o binário de um decimal. Por exemplo, se tomarmos o binário dos 13 que é (1101) após a operação do operador ou virá (0010) que é 2 em decimais.

Decimal 13
Binário 1101
Operador (~ 13)
Resultado (0010)
Binário a decimal 2

Operador XOR bitwise

Esse operador bitwise é chamado exclusivo ou a única diferença é que ele tem com o comum ou operação é que sua saída será zero quando ambas as entradas forem uma. Para representar ou usar esta operação na programação de Arduino, o sinal usado é “^”. Se esta operação for aplicada para os números 12 e 13 cujos binários são (1100) e (1101), o resultado da operação de Bit Wise XOR é (0001) e o decimal deste binário é 1.

Decimal 12 13
Binário 1100 1101
Operador (12 ^ 13)
Resultado (0001)
Binário a decimal 1

Mudança esquerda e mudança à esquerda bit

A mudança dos bits de um binário de um número pode ser feita usando o operador de mudança; O operador de mudança é dividido em dois tipos, dependendo de que lado o turno deve ser feito. Para ter uma mudança no lado direito, a fórmula usada para isso é (a/(2^b)).

Da mesma forma, para fazer uma mudança à esquerda, a fórmula usada é (a*(2^b)). Aqui a é o número em que a mudança é aplicar ,2 é o número de bits e b é o número de mudanças de bits dadas ao número. A representação da mudança de esquerda é (<) e para a mudança correta é (>> c) aqui c é o número de bits para os quais o número deve ser deslocado, por exemplo, se mudarmos 12 dois bits à esquerda e mudar dois bits para a direita, o resultado para o turno esquerdo será de 48 e para o turno direito será 3.

Decimal 12 12
Binário 1100 1100
Operador 12 <<2 12 >> 2
Resultado 110000 11
Binário a decimal 48 3

O programa Arduino para todos os operadores de bits é compilado para fornecer uma imagem clara da funcionalidade desses operadores:

int a = 12;
int b = 13;
int c; // para armazenar o resultado
void setup () // Coloque seu código de configuração aqui, para executar uma vez:
Serial.BEGIN (9600); // Inicializando a comunicação serial
Serial.print ("e:");
c = a & b;
Serial.println (c);
Serial.print ("ou:");
c = a | b;
Serial.println (c);
Serial.print ("xor:");
c = a^b;
Serial.println (c);
Serial.print ("não:");
c = ~ a;
Serial.println (c);
Serial.print ("turno esquerdo:");
c = 12<<2;
Serial.println (c);
Serial.print ("turno direito:");
c = 12 >> 2;
Serial.println (c);

Void Loop ()
// Coloque seu código principal aqui, para executar repetidamente:

Saída

Conclusão

Para aplicar a operação lógica em dois números bit a pouco, os operadores bit -news são usados, e esses operadores ajudam a tornar a condição usada para executar uma tarefa específica. Esta redação explica brevemente cada tipo de operador bit-newwe.