반응형
1. 진법 변환
#10진수 -> n진수 변환 : bin(NUM), oct(NUM), hex(NUM)
num = 18
print(bin(num)) #2진수. 0b10010
print(oct(num)) #8진수. 0o22
print(hex(num)) #16진수. 0x12
# n진수 -> 10진수 변환 : int(NUM, 현재 진수)
num = '10010'
print(int(num, 2))
num = '22'
print(int(num, 8))
num = '12'
print(int(num, 16))
# 결과 모두 18
2. 연산자
AND : &
OR : |
XOR : ^
NOT : ~
Shift : << , >>
예시)
9 = 0b1001, 5 = 0b101
AND | OR | XOR |
9 & 5 = 0b1 = 1 | 9 | 5 = 1101 = 13 | 9 ^ 5 = 0b1100 = 12 |
NOT | << ( == *2) | >> (== // 2) |
~9 = -0b1010 = -10 | 9 << 1 = 0b10010 = 18 | >> 1 = 0b100 = 4 |
n = 9
m = 5
#AND 9 & 5
print('9 &= 5 =')
print(bin(n), '&', bin(m), '=', bin(n & m), '==', n & m)
# 9 &= 5 =
# 0b1001 & 0b101 = 0b1 == 1
#OR 9 | 5
print('9 |= 5 =')
print(bin(n), '|', bin(m), '=', bin(n | m), '==', n | m)
# 9 |= 5 =
# 0b1001 | 0b101 = 0b1101 == 13
#XOR
print('9 ^= 5 =')
print(bin(n), '^', bin(m), '=', bin(n ^ m), '==', n ^ m)
# 9 ^= 5 =
# 0b1001 ^ 0b101 = 0b1100 == 12
#Shift >>
print(n >> 1, ',', n >> 2)
#=> 4, 2
#Shift <<
print(n << 1, ',', n << 2)
# => 18, 36
#NOT
print(bin(~n), '=', ~n)
# -0b1010 = -10
참고 : Python 계단밟기
728x90
반응형
'개발 > Algorithm 문제 풀이' 카테고리의 다른 글
[Python] 2133 타일 채우기 (0) | 2020.09.02 |
---|---|
[Python] 1793 타일링 DP (0) | 2020.08.31 |
선택 안됨 [Python] 비트마스킹 - 11723 집합 (0) | 2020.08.28 |
[Python] 비트마스킹 - 1094 막대기 (0) | 2020.08.28 |
[Python] 카카오 2019 - 블록 게임 (0) | 2020.08.19 |