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:
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 é (<
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.