[Python] 진법 변환
int() 함수
- 용도: 자연수 진법으로 표현된 수를 10진수 정수로 변환
- 문법
int(값, 밑)
- 파라미터
- 값: 자연수 진법으로 표현된 수 또는 수의 문자열 형태
- 단, 밑을 명시적으로 전달한 경우 값은 문자열 형태가 되어야 함
- 밑(Base): 자연수 진법의 밑 (0 또는 2에서 36 사이의 값)
- 밑의 기본값은 10 (10진수)
- 반환값
- 파라미터가 없는 경우: 0
- 값만 전달한 경우: 밑의 기본값이 10이므로 입력한 값을 10진수 정수 그대로 출력
- 밑이 주어진 경우: 주어진 밑에 따라 값을 정수로 변환하여 출력
- 값이 실수일 경우: 실수의 정수부만을 출력
- 참고
- int() 함수를 사용하면 진법으로 표현된 수를 10진수로 바로 변환할 수 있음
- 10진수로 변환한 결과를 출력하므로 진법 간 변환을 수행하지는 않음
- 에러 발생
- ValueError: 해당 밑에 대한 진법의 수 표현이 잘못된 경우
int(‘13’, 2)
2진법은 0과 1로만 이루어짐
- TypeError: 밑을 명시적으로 전달하였으나 문자열이 아닌 값을 전달한 경우
int(0xAF, 16)
명시적으로 밑을 16으로 지정하였으므로 16진수 값으로 문자열 ‘0xAF’을 전달해야 함
- 예
>>> int(23) # 10진수 23을 그대로 출력
23
>>> int(‘3.23’) # 실수 3.23의 정수부를 출력
3
>>> int(‘100’, 2) # 2진수 100을 10진수 정수로 변환
4
>>> int(‘100’, 8) # 8진수 100을 10진수 정수로 변환
64
>>> int(‘2732’, 8) # 8진수 2732를 10진수 정수로 변환
1515
>>> int(‘0xAF’, 16) # 16진수 AF를 10진수 정수로 변환
175
Comments