C# | Invertir todos los valores de bits en BitArray – Part 1

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 *