컴퓨터는 기본적으로 0과 1만을 인식합니다. 다시말하면 on/off만을 인식하는 것이지요.
이는 숫자 체계에서 2진수와 같습니다.
그러나 사람들은 10진수 체계에 익숙해져 있기 때문에 입력하는 데이터는 컴입장에서는 2진수로 변환하여야 합니다.
진수간의 변환은 어려운 것이 아닐지라도 상당히 번거로운 작업입니다. 그러나 파이썬은 이 변환된 값을 반환하는 함수들을 제공합니다.
이 방식에 대해 알아보면 다음과 같습니다.
기본적으로 파이썬에서 각 진수의 표현은 다음과 같습니다.
2진수 : 0b
8진수 : 0o
16진수 : 0x
또한 다음 함수들을 10진수인 값을 각 진수로 변환하는 함수입니다.
각 함수의 결과는 문자형이라는 것에 주의하여야 합니다.
2진수 : bin()
8진수 : oct()
16진수 : hex()
In [1]: type(15)
Out[1]: int
In [2]: x2=bin(15)
In [3]: x2
Out[3]: '0b1111'
In [4]: 1*2**3+1*2**2+1*2**1+1*2**0
Out[4]: 15
In [5]: type(x2)
Out[5]: str
In [6]: oct(15)
Out[6]: '0o17'
In [7]: 1*8**1+7*8**0
Out[7]: 15
In [8]: hex(15)
Out[8]: '0xf'
16진수는 다음과 같이 구성된다.
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, a, b, c, d, e, f
그러므로 15는 f
코드 [2]부터 10진수를 다른 진수 값으로 변환하였다. 그러나 이 결과는 모두 문자열이다. 이 값들을 다시 정수형으로 변환시키기 위해서는 int(객체, 진수형) 함수를 사용한다.
In [9]: int(x2, 2)
Out[9]: 15
In [10]: int(oct(15), 8)
Out[10]: 15
In [11]: int(hex(15), 16)
Out[11]: 15
이는 숫자 체계에서 2진수와 같습니다.
그러나 사람들은 10진수 체계에 익숙해져 있기 때문에 입력하는 데이터는 컴입장에서는 2진수로 변환하여야 합니다.
진수간의 변환은 어려운 것이 아닐지라도 상당히 번거로운 작업입니다. 그러나 파이썬은 이 변환된 값을 반환하는 함수들을 제공합니다.
이 방식에 대해 알아보면 다음과 같습니다.
기본적으로 파이썬에서 각 진수의 표현은 다음과 같습니다.
2진수 : 0b
8진수 : 0o
16진수 : 0x
또한 다음 함수들을 10진수인 값을 각 진수로 변환하는 함수입니다.
각 함수의 결과는 문자형이라는 것에 주의하여야 합니다.
2진수 : bin()
8진수 : oct()
16진수 : hex()
In [1]: type(15)
Out[1]: int
In [2]: x2=bin(15)
In [3]: x2
Out[3]: '0b1111'
In [4]: 1*2**3+1*2**2+1*2**1+1*2**0
Out[4]: 15
In [5]: type(x2)
Out[5]: str
In [6]: oct(15)
Out[6]: '0o17'
In [7]: 1*8**1+7*8**0
Out[7]: 15
In [8]: hex(15)
Out[8]: '0xf'
16진수는 다음과 같이 구성된다.
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, a, b, c, d, e, f
그러므로 15는 f
코드 [2]부터 10진수를 다른 진수 값으로 변환하였다. 그러나 이 결과는 모두 문자열이다. 이 값들을 다시 정수형으로 변환시키기 위해서는 int(객체, 진수형) 함수를 사용한다.
In [9]: int(x2, 2)
Out[9]: 15
In [10]: int(oct(15), 8)
Out[10]: 15
In [11]: int(hex(15), 16)
Out[11]: 15
댓글
댓글 쓰기