-
[Python] 진수 변환 정리공부/Python 2023. 3. 3. 13:26
파이썬은 기본적으로 10진수이기 때문에
다른 진수는 다음과 같이 접두어라는게 붙는다고 한다.
- 2진수:0b
- 8진수:0o
- 16진수:0x
첫번째 방법으로는 내장함수를 이용하는법이 있다.
- bin(), oct(), hex()
test = 100 b = bin(test) # 10 to 2 o = oct(test) # 10 to 8 h = hex(test) # 10 t0 16 print(b) print(o) print(h) #0b1100100 #0o144 #0x64
두 번째로는 format() 함수를 사용해서 변환하는 방법이다.
jinsu = 100 #2진수 b = format(jinsu, 'b') #8진수 o = format(jinsu, 'o') #16진수 x = format(jinsu, 'x') test = "{0:#b}, 8진수: {0:#o}, 10진수: {0:#d}, 16진수: {0:#x}".format(100) print(test) print(b,o,x) #0b1100100, 8진수: 0o144, 10진수: 100, 16진수: 0x64 #1100100 144 64
세 번째로는 진수 형태를 이용하는 방법
2진수, 8진수 , 16진수에서 10진수로 변환하는 방법
b = int('0b111100', 2) o = int('0o74', 8) h = int('0x3c', 16) print(b) print(o) print(h)
int 함수의 첫 번째 인자는 변환하고자 하는 진수이고
두 번째 인자는 "진수 형태"이다.
진수값을 잘 못입력하면 에러가 발생하게 된다.
추가로
입력받은 값을 유니코드 값으로 변환하는 방법은 ord를 사용한다.
n = ord(input()) #입력받은 문자를 10진수 유니코드 값으로 변환한 후, n에 저장한다.
ord( ) 는 어떤 문자의 순서 위치(ordinal position) 값을 의미한다.
실제로 각각의 문자들에는 연속된 정수 값이 순서에 따라 부여 되어 있다. A:65, B:66, C:67 ....
ord(c) : 문자 c 를 10진수로 변환한 값반대로는
chr( )는 정수값->문자, ord( )는 문자->정수값 형태로 바꿔주는 서로 반대 방향으로 바꾸어 주는 기능을 한다.
'공부 > Python' 카테고리의 다른 글
[코드업] 파이썬 기초 100 문제 정리 [4] (0) 2023.03.07 [코드업] 파이썬 기초 100 문제 정리 [3] (0) 2023.03.05 [코드업] 파이썬 기초 100 문제 정리 [1] (0) 2023.02.27 [python] 증감연산자 (0) 2023.02.27 [코드업] 파이썬 기초 100 문제 정리해보기 (0) 2023.02.26