Diferencia entre revisiones de «xor bit a bit compuesto»

De ArduWiki
Saltar a: navegación, buscar
(Ejemplo 1)
(Referencias)
 
(No se muestran 5 ediciones intermedias del mismo usuario)
Línea 2: Línea 2:
 
El operador '''xor bit a bit compuesto''' <nowiki>(^=)</nowiki> se usa a menudo para invertir (toggle) determinados bits en una variable.  
 
El operador '''xor bit a bit compuesto''' <nowiki>(^=)</nowiki> se usa a menudo para invertir (toggle) determinados bits en una variable.  
  
{| class="wikitable"
+
{| class="wikitable col3cen"
 +
!a!!b!!a <nowiki>^=</nowiki> b
 
|-
 
|-
|Operador 1 || 0 || 0 || 1 || 1
+
|0||0||0
 
|-
 
|-
|Operador 2 || 0 || 1 || 0 || 1
+
|1||0||1
 
|-
 
|-
|Resultado || 0 || 1 || 1 || 0
+
|0||1||1
 +
|-
 +
|1||1||0
 
|}
 
|}
  
Línea 15: Línea 18:
 
== Sintaxis ==
 
== Sintaxis ==
 
<pre>
 
<pre>
 +
variable ^= mascara;
 +
variable = variable ^ mascara;
 
</pre>
 
</pre>
  
Línea 26: Línea 31:
  
 
== Comentario ==
 
== Comentario ==
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.
+
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.
  
 
== Advertencia ==
 
== Advertencia ==
Línea 50: Línea 55:
 
* [[and bit a bit compuesto]] <nowiki>(&=)</nowiki>
 
* [[and bit a bit compuesto]] <nowiki>(&=)</nowiki>
  
== Referencias ==
+
== Referencias externas ==
  
[[Category:Estructura]]
+
[[Category:Operador bit a bit compuesto]]

Revisión actual del 00:09 27 sep 2019

Descripción

El operador xor bit a bit compuesto (^=) se usa a menudo para invertir (toggle) determinados bits en una variable.

a b a ^= b
0 0 0
1 0 1
0 1 1
1 1 0

Nota: A menudo se hace referencia en las guías de programación como "invertido" (TOGLE) de bits.


Sintaxis

variable ^= mascara;
variable = variable ^ mascara; 

Parametros

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

Retorno

  • Los bits tratados con 0, mantienen su estado.
  • Los bits tratados con 1, cambian su estado.

Comentario

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.

Advertencia

Nada.

Ejemplo 1

Para conmutar los 2 bits menos significativos de una variable, dejando el resto de la variable sin cambios, se use el operador xor bit a bit compuesto (^=) con la constante B00000011.

byte a = B10101010;
a ^= B00000011;      //B10101001

Vea también

Referencias externas