Diferencia entre revisiones de «and bit a bit compuesto»
De ArduWiki
(→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 | + | 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 |= | + | a |= B11111100; //B10101000 |
</syntaxhighlight> | </syntaxhighlight> | ||
Línea 35: | Línea 47: | ||
|Variable||Bxxxxxxxx | |Variable||Bxxxxxxxx | ||
|- | |- | ||
− | | | + | |Mascara||B11111100 |
|- | |- | ||
|Resultado||Bxxxxxx00 | |Resultado||Bxxxxxx00 | ||
Línea 41: | Línea 53: | ||
== Vea también == | == Vea también == | ||
− | + | <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: | + | [[Category:Operador bit a bit compuesto]] |
Revisión actual del 00:09 27 sep 2019
Contenido
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