# BigInteger.BitwiseAnd(BigInteger, BigInteger) Operator

## Definition

Performs a bitwise `And` operation on two BigInteger values.

``````public:
static System::Numerics::BigInteger operator &(System::Numerics::BigInteger left, System::Numerics::BigInteger right);``````
``public static System.Numerics.BigInteger operator & (System.Numerics.BigInteger left, System.Numerics.BigInteger right);``
``static member ( &&& ) : System.Numerics.BigInteger * System.Numerics.BigInteger -> System.Numerics.BigInteger``
``Public Shared Operator And (left As BigInteger, right As BigInteger) As BigInteger``

#### Parameters

left
BigInteger

The first value.

right
BigInteger

The second value.

#### Returns

BigInteger

The result of the bitwise `And` operation.

## Remarks

The BitwiseAnd method defines the bitwise `And` operation for BigInteger values. The bitwise `And` operation sets a result bit only if the corresponding bits in `left` and `right` are also set, as shown in the following table.

Bit in `left` Bit in `right` Bit in result
0 0 0
1 0 0
1 1 1
0 1 0

The BitwiseAnd method enables code such as the following:

``````BigInteger number1 = BigInteger.Add(Int64.MaxValue, Int32.MaxValue);
BigInteger number2 = BigInteger.Pow(Byte.MaxValue, 10);
BigInteger result = number1 & number2;
``````
``````Dim number1 As BigInteger = BigInteger.Add(Int64.MaxValue, Int32.MaxValue)
Dim number2 As BigInteger = BigInteger.Pow(Byte.MaxValue, 10)
Dim result As BigInteger = number1 And number2
``````

The BitwiseAnd method performs the bitwise `And` operation on two BigInteger values as if they were both in two's complement representation with virtual sign extension.