본문 바로가기
작업/Programming

파이썬(Python) 진법(2, 8, 16) 변환

 

 

 

이번 글은 처리되는 수의 진법에 대한 정리입니다.

컴퓨터에서 처리되는 시스템은 1과 0의 구조로 데이터를 처리합니다.

이는 바이너리(binary)라고 하며 2진법에 해당하고, 사람이 해석하기엔 어려움이 있습니다.

 

인류는 0~9의 수 체계를 주된 방식으로 생활합니다. 이는 10진법입니다.

또한, 수를 사용하는 체계에 따라 그 진법은 매우 다양할 수 있습니다.

 

그중 파이썬 내장 함수로 다룰 수 있는 것은 2, 8, 10, 16진법입니다.

 

2진수 = bin()

8진수 = oct()

10진수 = int()

16진수 = hex()

 

 

"10101"이 10진수인지 2진수인지 명시하지 않으면 알 수 없습니다.

그래서 파이썬에서는 각각의 진수들을 해석할 수 있도록 표시하는 형식이 있습니다.

 

2진수 = 0b

10진수 = 일반 수 표현

8진수 = 0o

16진수 = 0x

 

 

 

 

97의 값을 저장한 value를 통해 진수를 변환했습니다.

출력 결과, 진법 형식이 포함된 결과를 확인할 수 있습니다.

 

 

 

 

 

 

 

진법 표시(0b, 0o, 0x)를 하고 싶지 않은 경우에는 format() 함수를 통해 구조 변환이 가능합니다.

 

 

format(변환할 수, 변환 구조)의 형태입니다.

변환 구조에서 진법을 바꾸고자 한다면 b(2진), o(8진), x(16진) 문자를 사용합니다.

 

 

진법 표시를 유지하고 싶다면 CrossHatch(# - Sharp) 문자를 b, o, x 문자 앞에 포함합니다.

 

 

위와 같은 value =  97을 바탕으로 작성했습니다.

#을 포함한 바이너리 값은 진수 구조를 포함한 값이 출력되었습니다.

#을 포함하지 않았을 경우에는 10진수처럼 값만 출력되었습니다.

 

 

 

 

 

 

 

2, 8, 16진수의 데이터를 10진수로 표현하기 위해서는 int()를 사용합니다.

int(변환할 데이터, 진수) 형식으로 구성하며

 

인자인 변환할 데이터는 일반적으로 문자열 형태로 취급합니다.

또 다른 인자인 진수는 정수형이며 변환할 데이터가 어떤 진수로 표현된 것인지 명시합니다.

 

 

 

 

 

 

- 끝 -