C# | Bitwise AND between the elements of 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.And(BitArray) method is used to perform the bitwise AND operation between the elements of the current BitArray object and the corresponding elements in the specified array. The current BitArray object will be modified to store the result of the bitwise AND operation.Properties:
- The BitArray class is a collection class in which the capacity is always the same as the count.
- Elements are added to a BitArray by increasing the Length property.
- Elements are deleted by decreasing the Length property.
- The BitArray class provides methods like And, Or, Xor, Not, and SetAll.
- Elements in this collection can be accessed using an integer index. Indexes in this collection are zero-based.
Syntax:
public System.Collections.BitArray And (System.Collections.BitArray value);
Here, value is the array with which to perform the bitwise AND operation.Return Value: It returns an array containing the result of the bitwise AND operation, which is a reference to the current BitArray object.Exceptions:
- ArgumentNullException : If the value is null.
- ArgumentException : If the value and the current BitArray do not have the same number of elements.
Below given are some examples to understand the implementation in a better way:Example 1:
CSHARP `
// C# code to do bitwise // AND 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[2] = false;
myBitArr2[1] = true;
myBitArr2[3] = true;
// function calling
PrintValues(myBitArr1.And(myBitArr2));
}
// Displaying the result
public static void PrintValues(IEnumerable myList)
{
foreach(Object obj in myList)
{
Console.WriteLine(obj);
}
}
}
`
Output:
False False False True
Example 2:
CSHARP `
// C# code to do bitwise // AND 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[2] = false;
myBitArr2[1] = true;
myBitArr2[3] = true;
myBitArr2[4] = true;
myBitArr2[5] = true;
// function calling
// This should raise "ArgumentException"
// as array lengths are not same
PrintValues(myBitArr1.And(myBitArr2));
}
// Displaying the result
public static void PrintValues(IEnumerable myList)
{
foreach(Object obj in myList)
{
Console.WriteLine(obj);
}
}
}
`
Runtime Error:
Unhandled Exception: System.ArgumentException: Array lengths must be the same.
Note:
- The bitwise AND operation returns true if both operands are true, and returns false if one or both operands are false.
- This method is an O(n) operation, where n is Count.
Reference:
Similar Reads
- C# | Bitwise OR operation between the elements of BitArray 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.Or(BitArray) method is used to perform the bitwise 3 min read
- C# | Bitwise exclusive OR operation between the elements of BitArray 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.Xor(BitArray) method is used to perform the bitwise 3 min read
- C# | Copying BitArray elements to an Array 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.CopyTo(Array, Int32) method is used to copy the ent 3 min read
- C# | Number of elements contained in the BitArray 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.Count property is used to get the number of element 2 min read
- C# | Get or set the number of elements in the BitArray 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.Length property is used to get or set the number of 2 min read
- C# | Set all bits in the BitArray to the specified value 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.SetAll(Boolean) method is used to set all bits in t 3 min read
- C# | Check if two BitArray objects are equal Equals(Object) Method which is inherited from the Object class is used to check if a specified BitArray object is equal to another BitArray object or not. Syntax: public virtual bool Equals (object obj); Here, obj is the object which is to be compared with the current object. Return Value: This meth 2 min read
- C# | Set the bit at a specific position in the BitArray to the specified value 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.Set(Int32, Boolean) method is used to set the bit a 3 min read
- C# | Inverting all bit values in BitArray 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 curren 2 min read
- C# | Get value of the bit at a specific position in BitArray 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.Get(Int32) method is used to get the value of the b 3 min read