# 01 비트(Bit)
print (5 >> 4) # Right Shift
print (5 << 1) # Left Shift
print (8 & 5) # Bitwise AND
print (9 | 4) # Bitwise OR
print (12 ^ 42) # Bitwise XOR
print (~88) # Bitwise NOT
0 10 0 13 38 -89
# 02 이진법(The Base 2 Number System)
print (0b1,) #1
print (0b10,) #2
print (0b11,) #3
print (0b100,) #4
print (0b101,) #5
print (0b110,) #6
print (0b111) #7
print ("******")
print (0b1 + 0b11)
print (0b11 * 0b11)
1 2 3 4 5 6 7 ****** 4 9
# 03 1100까지 셀 수 있어요!
one = 0b1
two = 0b10
three = 0b11
four = 0b100
five = 0b101
six = 0b110
seven = 0b111
eight = 0b1000
nine = 0b1001
ten = 0b1010
eleven = 0b1011
twelve = 0b1100
# 04 bin() 함수
print (bin(1))
for i in range(2, 6):
print (bin(i))
0b1 0b10 0b11 0b100 0b101
# 05 int() 함수의 두 번째 매개변수
print (int("1",2))
print (int("10",2))
print (int("111",2))
print (int("0b100",2))
print (int(bin(5),2))
print (int("11001001", 2))
1 2 7 4 5 201
# 06 왼쪽으로 쉬프트! 오른쪽으로 쉬프트!
shift_right = 0b1100
shift_left = 0b1
# Your code here!
shift_right = shift_right >> 2
shift_left = shift_left << 2
print (bin(shift_right))
print (bin(shift_left))
0b11 0b100
# 07 비트 단위의 AND 연산
print (bin(0b1110 & 0b101))
0b100
# 08 비트 단위의 OR 연산
print (bin(0b1110 | 0b101))
0b1111
# 09 XOR 연산은 무엇일까요?
print (bin(0b1110 ^ 0b101))
0b1011
# 10 비트 단위의 NOT 연산
print (~1)
print (~2)
print (~3)
print (~42)
print (~123)
-2 -3 -4 -43 -124
# 11 비트 마스크(Bit Mask)
def check_bit4(num):
if num & 0b1000 > 0:
return ("on")
else:
return ("off")
print (check_bit4(12))
print (check_bit4(16))
on off
# 12 비트(Bit) 켜기
a = 0b10111011
print (bin(a | 0b100))
0b10111111
# 13 비트(Bit) 전환하기
a = 0b11101110
print (bin(a ^ 0b11111111))
0b10001
# 14 마스크 안의 비트 옮기기
def flip_bit(number, n):
return (bin(number ^ (0b1 << (n-1))))
print (flip_bit(0b111111, 5))
0b101111