C# | Inverting all bit values in BitArray (original) (raw)

Last Updated : 01 Feb, 2019

The BitArray class manages a compact array of bit values, which are represented as Booleans, where true indicates that the bit is on i.e, 1 and false indicates the bit is off i.e, 0. This class is contained in System.Collections namespace.BitArray.Not method inverts all the bit values in the current BitArray, so that elements set to true are changed to false, and elements set to false are changed to true.Properties:

Syntax:

public System.Collections.BitArray Not ();

Return Value: It returns the current instance with inverted bit values.Example:

CSHARP `

// 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);
    }
}

}

`

Output:

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

Note: This method is an O(n) operation, where n is Count.Reference:

Similar Reads