파이썬에는 진수를 변환할 수 있는 내장함수가 있습니다.
그 내장함수로는 hex, oct, bin, int인데 각각 16진수, 8진수, 2진수, 10진수입니다.
하나씩 사용법을 알아보겠습니다.
1. hex()
16진수는 변환함수는 hexadecimal의 앞글자 3개를 따와서 hex입니다.
16진수는 맨 앞에 전두사로 0x가 붙습니다.
hex함수는 입력에 해당하는 숫자를 16진수로 변경해 줍니다.
hex함수의 반환형은 문자열입니다.
a = hex(314)
print(a)
print(type(a))
결과)
0x13a
<class 'str'>
2. oct()
8진수는 변환함수는 octal number의 앞 3글자를 따와서 oct입니다.
8진수는 맨 앞자리 접두사로 0o가 붙습니다.
oct함수는 입력에 해당하는 숫자를 8진수로 변환해 줍니다.
oct함수의 반환형은 문자열입니다.
a = oct(314)
print(a)
print(type(a))
결과)
0o472
<class 'str'>
[백준] 1373 파이썬(python) : 2진수 8진수
https://www.acmicpc.net/problem/1373 1373번: 2진수 8진수 첫째 줄에 2진수가 주어진다. 주어지는 수의 길이는 1,000,000을 넘지 않는다. www.acmicpc.net import sys n = sys.stdin.readline().rstrip() tmp = int(n, 2) tmp2 = oct(tmp) p
hgk5722.tistory.com
3. bin()
2진수는 변환함수는 binary number의 앞 3글자를 따와서 bin입니다
2진수는 맨 앞자리 접두사로 0b가 붙습니다.
bin함수는 입력에 해당하는 숫자를 2진수로 변환해줍니다.
bin함수의 반환형은 문자열입니다.
a = bin(314)
print(a)
print(type(a))
결과)
0b100111010
<class 'str'>
[백준] 1212 파이썬(python) : 8진수 2진수
https://www.acmicpc.net/problem/1212 1212번: 8진수 2진수 첫째 줄에 8진수가 주어진다. 주어지는 수의 길이는 333,334을 넘지 않는다. www.acmicpc.net import sys n = sys.stdin.readline().rstrip() tmp = int(n, 8) #1 tmp2 = bin(tmp)
hgk5722.tistory.com
4. int()
10진수 변환함수는 integer에서 따왔습니다.
int(a, b)는 문자열 a가 b에 해당하는 진수일때 정수로 바꿔줍니다.
10진수를 8진수로 바꾸고 다시 10진수로 바꾸는 방법은 다음과 같습니다.
a = oct(314)
print(int(a, 8))
oct함수를 사용해 314를 8진수로 바꾸고 그것을 다시 int함수로 10진수로 바꿔줍니다.
int(a, b)의 첫번째 인자 a는 문자열을 삽입해줘야 하는데 oct함수의 반환형은 문자열이어서 알맞은 매개변수가 됩니다.
[백준] 2745 파이썬(python) : 진법 변환
2745번: 진법 변환 import sys n, b = sys.stdin.readline().split() #1 print(int(n, int(b))) #2 #1 : n과 b를 문자열로 받아주고 #2 : int()함수를 사용하는데 n은 문자로 b는 숫자로 받아준다 관련 포스팅
hgk5722.tistory.com
'[Python]' 카테고리의 다른 글
[Python] 파이썬 깊은복사(DeepCopy) (0) | 2022.09.15 |
---|---|
[Python] 파이썬 : 람다(lambda) 함수 (0) | 2022.08.19 |
[Python] 파이썬 remove(), pop(), del 차이점 (0) | 2022.07.27 |
[Python] 파이썬 heap 자료구조, heapq 모듈 사용 (0) | 2022.07.25 |
[Python] 순열, 조합, 중복순열 (0) | 2022.07.24 |