Diferencia entre revisiones de «xor bit a bit compuesto»

De ArduWiki
Saltar a: navegación, buscar
(Referencias)
(Descripción)
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
 
|}
 
|}
  

Revisión del 23:50 26 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