#TITLE:&= AND bit a bit compuesto

Descripción

El compuesto operador AND (&=) a nivel de bits se utiliza a menudo con una variable y una constante para forzar determinados bits en una variable al estado LOW (a 0). A esto a menudo se hace referencia en las guías de programación como "borrado" o "reseteado" de bits

En primer lugar, una revisión del operador AND bit a bit (&)

0 0 1 1 operando1 0 1 0 1 operando2 ----------------- 0 0 0 1 (operando1 y operando2) - resultado devuelto

Sintaxis

x &= y; // Equivalente a x = x & y;

Parámetros

  • x: una variable char, int o long
  • y: una constante entera o char, int o long

Ejemplo

Los bits que han sufrido una operación "AND bit a bit " con 0 se ponen a 0 por lo que, si myByte es una variable byte,

myByte & B00000000 = 0;

Los bits que han sufrido una operación "AND bit a bit " con 1 no se modifican, así,

myByte & B11111111 = myByte;

※ Nota:

Debido a que se trata de bits de un operador de bits - es conveniente utilizar el formateador binario con constantes. Las cifras siguen siendo el mismo valor en otras representaciones, que simplemente no son tan fáciles de entender. Además, B00000000 se muestra por claridad, pero cero en cualquier formato de número es cero.

En consecuencia, para borrar (poner a cero) los bits 0 y 1 de una variable, dejando el resto de la variable sin cambios, utilice el operador AND bit a bit compuesto (&=) con la constante B11111100

1 0 1 0 1 0 1 0 variable 1 1 1 1 1 1 0 0 máscara -------------------------- 1 0 1 0 1 0 0 0 variable sin cambios bits borrados

Esta es la misma representación con los bits de la variable reemplazado con el símbolo x

x x x x x x x x variable 1 1 1 1 1 1 0 0 máscara -------------------------- x x x x x x 0 0 variable sin cambios bits borrados

Así que si:

myByte = B10101010; myByte &= B11111100; // resultado B10101000

ARDUINO BUY RECOMMENDATION

Arduino UNO R3
Arduino Starter Kit
Please note: These are Amazon affiliate links. If you buy the components through these links, We will get a commission at no extra cost to you. We appreciate it.

※ OUR MESSAGES