# What are bitwise operators in python? |types of bitwise operators

we all know some of the operators like arithmetic operators logical operators and now we are going to see bitwise operators

firstly, bitwise operators, we will deal with the bits by these operators we can operate the things like bit array, bit string, or bit numerals.

Secondly, we can use these operators as they are fast In their action and in a simple manner

Coming to the bitwise operator we are having a totally 6 different operators

## Complement operator

Here we are using the symbol called ~ TILDE

now let’s try what this operator can do

### To understand this we must know about binary operations with this complementory operators

```Generally complement means opposite of it
so if we ```
```~1 will gives 0
~0 will gives 1 ```

## Example

```a=15
print(~a)
print(bin(a))
```

```-16
0b1111```

### Explanation

```For 15 we are getting  -16 how?
binary format of 15 is     00001111

its comlpement will be   11110000 which will be equal to -16 ```

Is a negative number possible in python? yeah, we can have negative numbers but we should store it as positive numbers,

now how can we do that, there is a concept called as

## 2’s complement

we can find 2’s complement by finding 1’s complement and add 1 to it

```for example we will take 2's complement for number 13
13 in binary can be written as 00001101
its complement will be            1111001
for 2's complement                          +1
------------
11110011         which will be equal to 12```

## Bitwise And operator

And operator will give 1 (true) when both the inputs are 1 (true)

we can understand it with the help of the truth table

Here for the bitwise and we are using & (AMPERSAND) Symbol

## Example

```print(12&13)
```

### Output

`12`

Now why are we getting 12 as output

to understand that we need to convert into binary format

```
12 in binary can be written as 00001100
13 in binary can be written as 00001101
--------------
000001100    which will be equal to 12```

that’s why we are getting 12 as output

## Bitwise OR operator

And operator will give 1 (true) when any one of the inputs are 1 (true)

we can understand it with the help of the truth table

Here for the bitwise and we are using | (pipe) Symbol

## Example

```print(12|13)
```

### Output

`13`

Now why are we getting 13 as output

to understand that we need to convert into binary format

```
12 in binary can be written as 00001100
13 in binary can be written as 00001101
--------------
00001101    which will be equal to 13```

that’s why we are getting 13 as output

There is no condition that the output must be one of the given input it can also be any number other than the given numbers

## Example

```print(45&62)
```

`44`

## Explanation

```
45 in binary can be written as 00101101
62 in binary can be written as 00111110
--------------
00101100    which will be equal to 44```

to know more about other operators

1. XOR bitwise operator
2. left shift bitwise operator
3. rightshift bitwise operator
We will be happy to hear your thoughts Hello!👋