[Python] 진법 변환

int() 함수

- 용도: 자연수 진법으로 표현된 수를 10진수 정수로 변환
- 문법

int(값, 밑)

- 파라미터

  1. 값: 자연수 진법으로 표현된 수 또는 수의 문자열 형태
    • 단, 밑을 명시적으로 전달한 경우 값은 문자열 형태가 되어야 함
  2. 밑(Base): 자연수 진법의 밑 (0 또는 2에서 36 사이의 값)
    • 밑의 기본값은 10 (10진수)

- 반환값

  1. 파라미터가 없는 경우: 0
  2. 값만 전달한 경우: 밑의 기본값이 10이므로 입력한 값을 10진수 정수 그대로 출력
  3. 밑이 주어진 경우: 주어진 밑에 따라 값을 정수로 변환하여 출력
  4. 값이 실수일 경우: 실수의 정수부만을 출력

- 참고

  • int() 함수를 사용하면 진법으로 표현된 수를 10진수로 바로 변환할 수 있음
  • 10진수로 변환한 결과를 출력하므로 진법 간 변환을 수행하지는 않음

- 에러 발생

  1. ValueError: 해당 밑에 대한 진법의 수 표현이 잘못된 경우
    int(13, 2)
    

    2진법은 0과 1로만 이루어짐

  2. 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

Categories:

Updated:

Comments