C# | Invertir todos los valores de bits en BitArray

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.Not invierte todos los valores de bits en el BitArray actual, de modo que los elementos establecidos en true se cambian a false y los elementos establecidos en false se cambian a true .

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 Not ();

Valor devuelto: Devuelve la instancia actual con valores de bits invertidos.

Ejemplo:

// C# code to invert values in 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 to print the values
        // of BitArray myBitArr1
        Console.WriteLine("Values in BitArray myBitArr1 are : ");
  
        PrintValues(myBitArr1);
  
        // Function calling to print the values
        // of BitArray myBitArr2
        Console.WriteLine("Values in BitArray myBitArr2 are : ");
  
        PrintValues(myBitArr2);
  
        // inverting values in BitArray myBitArr1
        myBitArr1.Not();
  
        // inverting values in BitArray myBitArr2
        myBitArr2.Not();
  
        // Function calling to print the inverted values
        // of BitArray myBitArr1
        Console.WriteLine("Values in BitArray myBitArr1 are : ");
  
        PrintValues(myBitArr1);
  
        // Function calling to print the inverted values
        // of BitArray myBitArr2
        Console.WriteLine("Values in BitArray myBitArr2 are : ");
  
        PrintValues(myBitArr2);
    }
  
    // Displaying the result
    public static void PrintValues(IEnumerable myList)
    {
        foreach(Object obj in myList)
        {
            Console.WriteLine(obj);
        }
    }
}
Producción:

Values in BitArray myBitArr1 are : 
False
False
True
True
Values in BitArray myBitArr2 are : 
False
True
False
True
Values in BitArray myBitArr1 are : 
True
True
False
False
Values in BitArray myBitArr2 are : 
True
False
True
False

Nota: 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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *