Diferencia entre revisiones de «and bit a bit compuesto»

De ArduWiki
Saltar a: navegación, buscar
(Referencias)
 
(No se muestran 10 ediciones intermedias del mismo usuario)
Línea 1: Línea 1:
 
== Descripción ==
 
== Descripción ==
 
El operador '''and bit a bit compuesto''' <nowiki>(&=)</nowiki> se usa a menudo para forzar determinados bits en una variable a 0 (LOW).  
 
El operador '''and bit a bit compuesto''' <nowiki>(&=)</nowiki> se usa a menudo para forzar determinados bits en una variable a 0 (LOW).  
 +
 +
{| class="wikitable col3cen"
 +
!a!!b!!a <nowiki>&=</nowiki> b
 +
|-
 +
|0||0||0
 +
|-
 +
|1||0||0
 +
|-
 +
|0||1||0
 +
|-
 +
|1||1||1
 +
|}
  
 
{{Nota|A menudo se hace referencia en las guías de programación como "borrado" o "reseteado" (RESET) de bits.}}
 
{{Nota|A menudo se hace referencia en las guías de programación como "borrado" o "reseteado" (RESET) de bits.}}
Línea 25: Línea 37:
  
 
== Ejemplo ==
 
== Ejemplo ==
Para configurar los bits 0 (menos significativo) y 0 de una variable, dejando el resto de la variable sin cambios, se use el operador '''and bit a bit compuesto''' (&=) con la constante B00000011
+
Para configurar los bits 0 (menos significativo) y 0 de una variable, dejando el resto de la variable sin cambios, se use el operador '''and bit a bit compuesto''' (&=) con la constante B11111100.
  
 
<syntaxhighlight lang="c++">
 
<syntaxhighlight lang="c++">
 
byte a = B10101010;
 
byte a = B10101010;
a |= B00000011;      //B10101000
+
a |= B11111100;      //B10101000
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Línea 35: Línea 47:
 
|Variable||Bxxxxxxxx   
 
|Variable||Bxxxxxxxx   
 
|-
 
|-
|Mascaa||B00000011
+
|Mascara||B11111100
 
|-
 
|-
 
|Resultado||Bxxxxxx00  
 
|Resultado||Bxxxxxx00  
Línea 41: Línea 53:
  
 
== Vea también ==
 
== Vea también ==
* [[or bit a bit compuesto]] <nowiki>(|=)</nowiki>
+
<categorytree mode=all>Operador bit a bit</categorytree>
 +
<categorytree mode=all>Operador bit a bit compuesto</categorytree>
 +
<categorytree mode=all>Funciones bit y byte</categorytree>
  
== Referencias ==
+
== Referencias externas ==
 
* [https://manueldelgadocrespo.blogspot.com/p/blog-page_14.html Manuel Delgado crespo]
 
* [https://manueldelgadocrespo.blogspot.com/p/blog-page_14.html Manuel Delgado crespo]
  
[[Category:Estructura]]
+
[[Category:Operador bit a bit compuesto]]

Revisión actual del 20:09 26 sep 2019

Descripción

El operador and bit a bit compuesto (&=) se usa a menudo para forzar determinados bits en una variable a 0 (LOW).

a b a &= b
0 0 0
1 0 0
0 1 0
1 1 1

Nota: A menudo se hace referencia en las guías de programación como "borrado" o "reseteado" (RESET) de bits.


Sintaxis

variable &= mascara;
variable = variable & mascara; 

Parámetros

variable
Nombre de ala variable sobre la cual operar.
mascara
Constante entera puede ser char, byte, int, long.

Retorno

  • Los bits tratados con 0 se fuerzan a 0, sin importar su estado.
  • Los bits tratados con 1 mantienen su estado.

Comentarios

debido a que se trata de bits de un operador de bits - es conveniente usar 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.

Advertencias

Nada.

Ejemplo

Para configurar los bits 0 (menos significativo) y 0 de una variable, dejando el resto de la variable sin cambios, se use el operador and bit a bit compuesto (&=) con la constante B11111100.

byte a = B10101010;
a |= B11111100;      //B10101000
Variable Bxxxxxxxx
Mascara B11111100
Resultado Bxxxxxx00

Vea también


Referencias externas