ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 파이썬 진수 변환
    코딩공부/파이썬 2020. 1. 31. 17:19

    10진수 -> 16진수

    hex()는 10진수 정수를 16진수로 변환해서 문자열로 리턴하는 파이썬 내장 함수이다. 

    a = hex(변환할 숫자)

    예)

    10진수 35와 45를 각각 16진수로 변환했을 때 결과는 0x23, 0x2d이다. 둘을 더하고자 ret = a+ b를 사용하여 계산 후 출력했더니 80을 16진수로 나타낸 0x50이 아닌 a값과 b값을 순서대로 나열한 0x230x2d가 출력되었다. 이는 변환된 숫자가 문자열로 리턴되기 때문이다. 따라서 hex()로 구한 값을 연산해주기 위해서는 int()를 사용해 문자열을 숫자로 변환해주어야 한다.

     

    int()사용 시 내가 변환하려는 숫자가 16진수임을 지정한다. a2와 b2를 더한 결과인 ret을 출력하면 10진수로 출력된다. hex()안에 ret을 넣어주어 출력하면 덧셈 결과가 16진수로 출력된다.

    10진수 -> 2진수

    10진수를 2진수로 변환해주려면 bin()함수를 이용하면 된다. 사용방법은 위에서 설명한 hex()와 같다.

     

    예)

    hex()를 사용한 코드에서 hex를 bin으로, 16을 2로 바꿔주었다. 결과가 2진수로 출력되는 모습을 볼 수 있다.

     

    int()

    반대로 2진수나 8진수, 16진수를 10진수로 변환할 수도 있다. 위에서 사용한 int()를 이용하면 된다.

     

    num1,2,3 안에 각각 2진수 16진수 8진수로 이루어진 값을 넣어둔 뒤 int()를 이용해 10진수로 변환한 값을 b1, x1, o1에 저장한 뒤 출력해주는 코드이다. (8진수 숫자는 o로 나타낸다.)

    미리 저장해뒀던 값들이 10진수로 변환된 모습을 볼 수 있다.

     

    물론 문자열로 저장된 숫자들을 10진수로 변경하는것도 가능하다.

    미리 저장해둘 숫자들을 문자열 형식으로 저장해둔 뒤 int()를 사용할 때 두번째 인자값으로 몇진수 인지만 표시해주면 된다. 0을 넣어주어도 코드가 알아서 진수를 인식하기 때문에 결과는 똑같이 나온다.

    '코딩공부 > 파이썬' 카테고리의 다른 글

    파이썬 문자열 기능  (1) 2020.02.04
    파이썬 최댓값 최솟값 구하기  (0) 2020.02.03
    파이썬 Input  (0) 2020.01.22
    파이썬 예외처리 2  (0) 2020.01.16
    파이썬 예외처리  (1) 2020.01.14
Designed by Tistory.