AND (&) bit a bit compuesto

Descripción


El  compuesto operador AND (Y =) < 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


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:


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

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 & B 00000000 = 0;
Los bits que han sufrido una operación "AND bit a bit " con 1 no se modifican, así , myByte & B 11111111 =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 (Y =) 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 = B10101000


No hay comentarios:

Publicar un comentario