● 10진수 → 2진수
10진수인 임의의 수를 2진수로 변환하려면 아래와 같이 코드를 작성할 수 있다.
임의의 수 n을 입력받고 반복문을 통해 2진수로 변환한 후 출력해주는 코드이다.
● 2진수 → 10진수
2진수에서 10진수로 변환하려면 아래와 같이 코드를 작성할 수 있다.
2진수 n을 입력받고 각 자리수를 하나씩 리스트로 만들어준뒤 자리수에 해당하는 값을 곱해준뒤 모두 합하여 출력한다.
● 10진수 → N진수
10진수 N과 바꿀 진수인 B를 입력받아서 진수를 변환하여 출력해주는 코드이다.
● int() (N진수 → 10진수)
위와 같이 직접적으로 코드를 구현하여 진수를 변환할 수 있지만, 파이썬에서는 내장함수 int()를 지원한다.
int()는 형변환시 많이 사용하지만 진수변환도 가능하다.
int(string, base) : string 부분에 문자열 형식으로 숫자를 넘겨주고, base 부분에 현재 string의 진법을 넣어주면 된다.
출력결과:
10
10
10
10
10
43792
입력된 string형식의 수를 base 진법에서 10진법으로 변경해준다. 주의할점은 string형식이여야 한다는 점이다.
● int() (10진수 → N진수)
파이썬에서 2진수, 8진수, 16진수는 각각의 내장 함수(bin(), oct(), hex())를 지원한다.
출력결과:
0b1010
0o12
0xa
위와 같이 0b, 0o, 0x등 해당 진법을 알 수 있도록 명시하여 변환된다. 만약 위 부분을 제외하고 출력하고싶다면
문자열 슬라이싱([2:])을 활용하면 된다.
출력결과:
1010
12
a
2진수 8진수 16진수를 제외한 나머지 N 진수들은 앞서말한 진수 변환 코드를 사용하여 변환해야한다.
● int() (N진수 → N진수)
N진수에서 N진수 변환은 아래와 같이 작성할 수 있다.
먼저 a진수인 n을 10진수로 변환한 뒤 10진수에서 다시 b진수로 변환하는 코드이다.
'Python' 카테고리의 다른 글
| 파이썬 class 객체 정렬 (0) | 2024.01.24 |
|---|---|
| 파이썬 람다(lambda) 함수 (0) | 2024.01.24 |
| 파이썬 N까지의 소수 개수 구하기 (0) | 2024.01.23 |
| 파이썬 두 수의 최소공배수 (0) | 2024.01.23 |
| Python 클래스와 객체 (0) | 2024.01.20 |