La clase BitArray administra una array compacta de valores de bits, que se representan como valores booleanos, donde verdadero indica que el bit está activado , es decir, 1 y falso indica que el bit está desactivado , es decir, 0 . Esta clase está contenida en el espacio de nombres System.Collections .
El método BitArray.Xor(BitArray) se usa para realizar la operación OR exclusiva bit a bit entre los elementos del objeto BitArray actual contra los elementos correspondientes en la array especificada.
El objeto BitArray actual se modificará para almacenar el resultado de la operación OR exclusiva bit a bit.
Propiedades:
- La clase BitArray es una clase de colección en la que la capacidad es siempre la misma que la cuenta.
- Los elementos se agregan a un BitArray aumentando la propiedad Longitud .
- Los elementos se eliminan al disminuir la propiedad Longitud .
- Se puede acceder a los elementos de esta colección mediante un índice entero. Los índices de esta colección están basados en cero.
Sintaxis:
public System.Collections.BitArray Xor (System.Collections.BitArray value);
Aquí, el valor es la array con la que se realiza la operación OR exclusiva bit a bit.
Valor devuelto: Devuelve una array que contiene el resultado de la operación OR exclusiva bit a bit, que es una referencia al objeto BitArray actual.
Excepciones:
- ArgumentNullException: si el valor es nulo.
- ArgumentException: si el valor y el BitArray actual no tienen el mismo número de elementos.
A continuación se dan algunos ejemplos para entender la implementación de una mejor manera:
Ejemplo 1:
// C# code to perform the bitwise exclusive // OR operation between BitArray using System; using System.Collections; class GFG { // Driver code public static void Main() { // Creating a BitArray BitArray myBitArr1 = new BitArray(4); // Creating a BitArray BitArray myBitArr2 = new BitArray(4); // Initializing values in myBitArr1 myBitArr1[0] = false; myBitArr1[1] = false; myBitArr1[2] = true; myBitArr1[3] = true; // Initializing values in myBitArr2 myBitArr2[0] = false; myBitArr2[1] = true; myBitArr2[2] = false; myBitArr2[3] = true; // function calling PrintValues(myBitArr1.Xor(myBitArr2)); } // Displaying the result public static void PrintValues(IEnumerable myList) { foreach(Object obj in myList) { Console.WriteLine(obj); } } }
False True True False
Ejemplo 2:
// C# code to perform the bitwise exclusive // OR operation between BitArray using System; using System.Collections; class GFG { // Driver code public static void Main() { // Creating a BitArray BitArray myBitArr1 = new BitArray(4); // Creating a BitArray BitArray myBitArr2 = new BitArray(6); // Initializing values in myBitArr1 myBitArr1[0] = false; myBitArr1[1] = false; myBitArr1[2] = true; myBitArr1[3] = true; // Initializing values in myBitArr2 myBitArr2[0] = false; myBitArr2[1] = true; myBitArr2[2] = false; myBitArr2[3] = true; myBitArr2[4] = true; myBitArr2[5] = true; // function calling // This should raise "ArgumentException" // as array lengths are not same PrintValues(myBitArr1.Xor(myBitArr2)); } // Displaying the result public static void PrintValues(IEnumerable myList) { foreach(Object obj in myList) { Console.WriteLine(obj); } } }
Error de tiempo de ejecución:
Excepción no controlada:
System.ArgumentException: las longitudes de array deben ser las mismas.
Nota:
- La operación OR exclusiva bit a bit devuelve verdadero si exactamente un operando es verdadero , y devuelve falso si ambos operandos tienen el mismo valor booleano.
- Este método es una operación O(n), donde n es Count.
Referencia:
Publicación traducida automáticamente
Artículo escrito por Sahil_Bansall y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA