&=

Descrição

O operador de atribuição composta E &= é frequentemente usado com uma variável e uma constante para forçar detreminados bits de uma variável para 0. Isso é frequentemente chamado de "limpar" ou "resetar" os bits.

Uma revisão do operator bitwise E &:

0 0 1 1 operando1 0 1 0 1 operando2 ---------- 0 0 0 1 (operando1 & operando2) - resultado retornado

Sintaxe

x &= y; // equivalente a x = x & y;

Parâmetros

  • x: variável. Tipos de dados permitidos: char, int, long
  • y: variável ou constante. Tipos de dados permitidos: char, int, long

Código de Exemplo

Bits que são operados através do E com 0 são limpos, então se meuByte é uma variável byte:,

meuByte & B00000000 = 0;

Bits que são operados através do E com 1 não são mudados, então se meuByte é uma variável byte:

meuByte & B11111111 = meuByte;

※ Notas e Advertências:

Porque estamos lidando com bits em um operador bitwise, é conveniente usar o modificador binário com constantes na representação. Os números ainda são os mesmos em outras representações, só não são tão fáceis de entender. Também, B00000000 é mostrado para claridade, mas zero em qualquer outro formato é zero.

Consequentemente - para limpar os bits 0 e 1 de um variável, ao mesmo tempo deixando o resto da variável intocado, useo o operador de atribuição por bitwise E (&=) com a constante B11111100

1 0 1 0 1 0 1 0 variável 1 1 1 1 1 1 0 0 máscara ---------------------- 1 0 1 0 1 0 0 0 bits intactos bits limpos

Abaixo a mesma representação com os bits da variável substituidos pelo símbolo x

x x x x x x x x variável 1 1 1 1 1 1 0 0 máscara ---------------------- x x x x x x 0 0 bits intactos bits limpos

Então:

myByte = B10101010; myByte &= B11111100; // resulta em B10101000

ARDUINO BUY RECOMMENDATION

Arduino UNO R3
Arduino Starter Kit
Disclosure: Some links in this section are Amazon affiliate links. If you make a purchase through these links, we may earn a commission at no extra cost to you.
Additionally, some links direct to products from our own brand, DIYables.

※ OUR MESSAGES