-
파이썬 2진수, 8진수, 10진수, 16진수 변환Engineering WIKI/Python 2022. 5. 26. 14:41
먼저 파이썬은 기본 10진수이기 때문에 다른 진수는 아래와 같이 접두어가 붙습니다.
- 2진수: 0b
- 8진수: 0o
- 16진수: 0x
10진수에서 2진수, 8진수, 16진수 변환
bin(), oct(), hex() 내장함수 사용
파이썬에서 제공하는 내장함수를 사용하면 쉽게 변환 할 수 있습니다.
value = 60 b = bin(value) o = oct(value) h = hex(value) print(b) print(o) print(h) # 0b111100 # 0o74 # 0x3c
결과는 전부 문자열 타입입니다.
format() 내장함수 사용
forrmat() 내장함수를 사용하여 위 결과와 마찬가지로 변환할 수 있습니다.
value = 60 b = format(value, '#b') o = format(value, '#o') h = format(value, '#x') print(b) print(o) print(h) # 0b111100 # 0o74 # 0x3c -------------------------------- value = 60 b = format(value, 'b') o = format(value, 'o') h = format(value, 'x') print(b) print(o) print(h) # 111100 # 74 # 3c
- 두 번째 인자에서 #을 제거하면 접두어가 빠진 결과로 나오게 됩니다. 변환된 값 그 자체만 필요하게 될 경우, 유용하게 사용할 수 있습니다.
다른 진수 형태에서 10진수로 변환
2진수, 8진수, 16진수에서 10진수로 변환하는 방법입니다. 여기서 변환하고자 하는 진수의 타입은 문자열이며 반환되는 10진수 결과는 정수 타입입니다.
b = int('0b111100', 2) o = int('0o74', 8) h = int('0x3c', 16) print(b) print(o) print(h) # 60 # 60 # 60 --------------------------- b = int('111100', 2) o = int('74', 8) h = int('3c', 16) print(b) print(o) print(h) # 60 # 60 # 60
다른 진수 형태에서 다른 진수로 변환
2진수에서 8진수로 변환하는 것과 같이 변환하는 방법입니다. 여기서 변환하고자 하는 진수의 타입은 정수이며 반환되는 타입은 문자열입니다.
o = oct(0b111100) # 8진수 h = hex(0b111100) # 16진수 s = str(0b111100) # 10진수 print(o) print(h) print(s) # 0o74 # 0x3c # 60
'Engineering WIKI > Python' 카테고리의 다른 글
Generator (0) 2022.05.30 일급함수 (1) 2022.05.30 추상클래스(abstract class) (1) 2022.05.25 파이썬 람다식 (0) 2022.05.25 파이썬 퀵 정렬 (0) 2022.05.25 Python3 vs Pypy3 (0) 2022.05.25 Python TDD (0) 2022.05.23 파이썬 상속 (Inheritance) (0) 2022.05.23