# Assignment and Bitwise operators

## Augmented Assignment Operator

* Assignment operators are used in Python to assign values to variables
Eg: a = 10
Augmented Assignment Operator:
* It combines assignment operator with other logical operators like addition, multiplication etc.
* This operators that allows to write shortcut assignment statement ```# Simple Expression
i = 1
i = i + 1
print('Simple expression value is',i)

j = 1
j +=1   # This means j = j + 1

# Subtraction Assignment
k=1
k -= 2  # k = k -2
print('Subtraction Assignment value is',k)

# Multiplication Assignment
m = 2
m *= 2  # m =  m * 2
print('Multiplication Assignment value is',m)

# Float Division Assignment
n=5
n /= 2  # n = n / 2
print('Float Division Assignment value is',n)

# Integer division Assignment
p = 5
p //= 2  # p = p // 2
print('Integer division Assignment value is',p)

# Remainder Assignment
q = 5
q %= 2 # q = q % 2
print('Remainder Assignment value is',q)

# Exponent Assignment
r = 3
r **= 2   # r= r ** 2
print('Exponent Assignment value is',r)
```
```Output:
Simple expression value is 2
Subtraction Assignment value is -1
Multiplication Assignment value is 4
Float Division Assignment value is 2.5
Integer division Assignment value is 2
Remainder Assignment value is 1
Exponent Assignment value is 9
```

## Bitwise operators

Bitwise operators are used to compare (binary) numbers. It works on bits and performs bit by bit operation  Method to convert a number to binary number
syntax: '{0:08b}'.format(number)
Where,
{} - places a variable into a string
0 - takes the variable at argument position 0
: - adds formatting options for this variable (otherwise it would represent decimal 6)
08 - formats the number to eight digits zero-padded on the left
b - converts the number to its binary representation

```#Sample Code
a = 17
b = 10

print("Binary number for {0} is {0:08b}".format(a))
print('Binary number for {0} is {0:08b}'.format(b))

Output:
Binary number for 17 is 00010001
Binary number for 10 is 00001010
```

Bitwise operators Sample Code

```# Binary AND - Sets each bit to 1 if both bits are 1
# 00000000
print('Binary AND value is ',a&b)

# Binary OR -  Sets each bit to 1 if one of two bits is 1
# 00011011
print('Binary OR value is ',a|b)

# Binary XOR - Sets each bit to 1 if only one of two bits is 1
# 00011011
print('Binary XOR value is ',a^b)

# Binary Ones Complement - Inverts all the bits
# 11101110
print('Binary Ones Complement is ',~a)

# Binary Right Shift
'''Shift right by pushing copies of the leftmost bit in from the left, and
let the rightmost bits fall off'''
# 00000100
print('Binary Right Shift is ',a>>2)

# Binary Left Shift - Shift left by pushing zeros in from the right and let the leftmost bits fall off
# 01000100
print('Binary Left Shift is ',a<<2)
```
```Output:
Binary AND value is  0
Binary OR value is  27
Binary XOR value is  27
Binary Ones Complement is  -18
Binary Right Shift is  4
Binary Left Shift is  68
```
Total Website Visits: 40432