# Python Bitwise Operators

In general, Python operators are often used to handle values and arguments. This tutorial will explore a specific form of Python operator called bitwise operators. These symbols indicate conventional symbols for mathematical and logical procedures.

## Bitwise Operators

Bitwise operations are processes that engage with individual bits, which are the fundamental constituent of any sort of data in a computer. A binary value of 0 or 1 is assigned to each bit. Regardless of the notion that machines can manipulate bits, machines usually store data and perform commands in bytes, which are bit multiples. Most scripting languages work with groups of 8 bits, 16 bits, or 32 bits.

Bitwise operators are characters that denote operations that are performed on single bits. A bitwise operation is executed by spatially aligning the distinct bits of two-bit patterns of the same size.

## Bitwise Operators in Python

Bitwise operators are employed in python to perform bitwise operations on numbers. The values are first converted to binary, and then manipulations are done bit by bit, hence the phrase "bitwise operators." The outcome is then displayed in decimal numbers.

Bitwise Logical Operator: These operators are employed to execute logical operations like other logical operators bit by bit. This is akin to using logical operators such as and, or, and not on a bit level. Except for these basic facts, bitwise and logical operators are analogous.

Bitwise Shift Operators: These operators multiply or divide an integer number by two by shifting every individual bit to the left or right. We can use them when we wish to multiply or divide a value by a power of 2. Python's bitwise operators only work with integers.

Operator Description
& Binary AND TThe operator sends the bit present in both operands to the output.
| Binary OR TIf a bit is present in either operand, it is copied.
^ Binary XOR TIt is copied if the bit is set inside one argument but not both.
~ Binary Ones Complement TIt has the function of 'flipping' bits and is unary.
<< Binary Left Shift TThe left operand's value is moved to its left by the number of bits specified in the right argument.
>> Binary Right Shift The quantity of bits provided by the right parameter advances the position of the left operand.

Every binary bitwise operator has a compound operator that performs an enhanced application.

Operator Syntax Equivalent to
&= N1 &= N2 N1 = N1 & N2
|= N1 |= N2 N1 = N1 | N2
^= N1 ^= N2 N1 = N1 ^ N2
<<= N1 <<= n N1 = N1 << n
>>= N1 >>= n N1 = N1 >> n

These are rules for updating the left-hand argument whilst it's still active.

## Examples of Bitwise Operators in Python

### Bitwise AND

The logical conjunction is performed by the bitwise AND operation (&) on the appropriate bits of the provided operands.

Code

Output:

```x & y = 0
```

### Bitwise OR

Logical disjunction is achieved using the bitwise OR operation (|). If, at minimum, one of the appropriate pair of bits is turned on, it yields a one.

Code

Output:

```x | y = 19
```

### Bitwise NOT

Because the bitwise NOT operator only requires one parameter, this is the only unary bitwise operator. It flips all of the bits of a number given to implement logical negation upon it.

Code

Output:

```~x = -44
```

### Bitwise XOR

When one of the bits is 1, another is 0, it returns true; otherwise, it returns false.

Code

Output:

```x ^ y = 10
```

### Bitwise Right Shift

As a result of this operation, the individual bits of the number are shifted to the right, and the gaps on the left are filled with 0 (or 1 if the number is negative). The result is similar to dividing a value by a power of 2.

Code

Output:

```x >> 1 = 13
y >> 1 = -13
```

### Bitwise Left Shift

As a result of the operation, the individual bits of the integer to the left are filled with 0 on the voids to the right. The result is similar to multiplying a value by a power of 2.

Code

Output:

```x << 1 = 104
y << 1 = -30
```

## Help Others, Please Share   