Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Python으로 10진수를 2진수, 8진수, 16진수로 변환하는 방법

Python은 10진수를 2진수, 8진수, 16진수로 손쉽게 변환할 수 있는 내장 함수를 제공합니다. 별도의 라이브러리 설치나 복잡한 연산 과정 없이, 각 진법에 맞는 함수를 호출하기만 하면 됩니다.

내장 변환 함수

각 진법별로 사용되는 함수는 다음과 같습니다.

2진수: bin()
8진수: oct()
16진수: hex()

예제

아래와 같이 함수를 호출하면 해당 진법의 표현 값을 문자열 형태로 얻을 수 있습니다.

decimal = 27

print(bin(decimal),"in binary.")
print(oct(decimal),"in octal.")
print(hex(decimal),"in hexadecimal.")

출력 결과

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

0b11011 in binary.
0o33 in octal.
0x1b in hexadecimal.

접두사 제거하기

출력 결과에서 확인할 수 있듯이, bin()0b, oct()0o, hex()0x 접두사가 붙은 문자열을 반환합니다. 접두사 없이 숫자 부분만 필요하다면 문자열 슬라이싱을 활용할 수 있습니다.

print(bin(decimal)[2:])   # 11011
print(oct(decimal)[2:])   # 33
print(hex(decimal)[2:])   # 1b

또한 format() 함수나 f-string의 포맷 지정자를 사용하면 더욱 유연하게 원하는 형식으로 변환할 수 있습니다.