Diferencia entre revisiones de «and bit a bit compuesto»
De ArduWiki
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 | + | El operador '''and bit a bit compuesto''' <nowiki>(&=)</nowiki> se usa a menudo para forzar determinados bits en una variable a 0 (LOW). |
{{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 11: | Línea 11: | ||
== Parámetros == | == Parámetros == | ||
+ | ;variable: Nombre de ala variable sobre la cual operar. | ||
+ | ;mascara: Constante entera puede ser [[char]], [[byte]], [[int]], [[long]]. | ||
== Retorno == | == Retorno == | ||
+ | * Los bits tratados con 0 se fuerzan a 0, sin importar su estado. | ||
+ | * Los bits tratados con 1 mantienen su estado. | ||
== Comentarios == | == Comentarios == | ||
Línea 21: | Línea 25: | ||
== 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 | ||
+ | |||
+ | <syntaxhighlight lang="c++"> | ||
+ | byte a = B10101010; | ||
+ | a |= B00000011; //B10101000 | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | {|class="wikitable" | ||
+ | |Variable||Bxxxxxxxx | ||
+ | |- | ||
+ | |Mascaa||B00000011 | ||
+ | |- | ||
+ | |Resultado||Bxxxxxx00 | ||
+ | |} | ||
== Vea también == | == Vea también == |
Revisión del 12:10 23 jul 2018
Contenido
Descripción
El operador and bit a bit compuesto (&=) se usa a menudo para forzar determinados bits en una variable a 0 (LOW).
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 B00000011
byte a = B10101010;
a |= B00000011; //B10101000
Variable | Bxxxxxxxx |
Mascaa | B00000011 |
Resultado | Bxxxxxx00 |