알고리즘/프로그래머스
[Python] 진수 변환하기 (숫자 <-> 문자열) bin(), oct(), hex(), foramt()
3o14
2022. 11. 4. 14:44
728x90
반응형
1. 다른 진수 숫자로 표현하기
파이썬에서 숫자는 기본적으로 10진수로 표현되기 때문에 다른 진수를 표현하려면 앞에 접두어를 붙여야 한다.
// 2진수 : 0b
>>> 42 == 0b101010
True
// 8진수 : 0o
>>> 42 == 0o52
True
// 16진수 : 0x
>>> 42 == 0x2a
True
2. 진수 변환하기 (숫자 -> 문자열)
파이썬의 기본 내장함수 bin(), oct(), hex() 를 이용한다.
// 2진수를 문자열로 변환
>>> bin(42)
'0b101010'
// 8진수를 문자열로 변환
>>> oct(42)
'0o52'
// 16진수를 문자열로 변환
>>> hex(42)
'0x2a'
인자는 10진수이든 2진수이든 상관없이 문자열로 변환해준다.
>>> bin(0b101010)
'0b101010'
>>> oct(0b101010)
'0o52'
>>> hex(0b101010)
'0x2a'
>>> str(0b101010)
'42'
접두어를 제외하고 문자열로 변환하기 _ format() 내장함수
>>> format(42, 'b')
'101010'
>>> format(42, 'o')
'52'
>>> format(42, 'x')
'2a'
>>> format(42, 'X')
'2A'
>>> format(42, 'd')
'42'
3. 다른 진수형을 10진수로 변환하기 (문자열 -> 숫자)
>>> int('0b101010', 2)
42
>>> int('0o52', 8)
42
>>> int('0x2a', 16)
디폴트 값은 10진수로 변환하는 것이기 때문에 10은 생략해도 10진수로 변환이 가능하다.
>>> int('42', 10)
42
>>> int('42')
42
LIST