-
Notifications
You must be signed in to change notification settings - Fork 0
/
CodeCa_binary.py
54 lines (35 loc) · 1000 Bytes
/
CodeCa_binary.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
shift_right = 0b1100 >> 2
shift_left = 0b1 << 2
# Your code here!
print bin(shift_right)
print bin(shift_left)
## AND - & Operator - result lesser or igual to the smaller of two elements
print bin(0b1110 & 0b0101)
### OR - | operator = Greater then or iqual to the larger of two elements
print bin(0b1110 | 0b0101)
## return if certain bit is on or off. We do it by using mask where we set certain bit (counting from right) as 1
# then we use the "&" operator on the mask and the input
def check_bit4(input):
mask = 0b1000
desired = input & mask
if desired > 0:
return 'on'
return 'off'
print check_bit4(0b1010)
# turn on the third bit from the right
a = 0b10111011
mask = 0b100
desired = a | mask
print bin(desired)
## flipping the bits with XOR ^
a = 0b11101110
mask = 0b11111111
desired = a ^ mask
print bin(desired)
## slip and slide
def flip_bit(number, n):
mask = (0b1 << n-1)
slip = number ^ mask
result = bin(slip)
return result
###