반응형
진수를 변환하는 방법은 다음과 같다
10진수를 n(2,8,16)진수로 바꾸는방법
10진수 x를 2진수로 바꾸려면 bin(x) ,
10진수 x를 8진수로 바꾸려면 oct(x)
10진수 x를 16진수로 바꾸려면 hex(x)
<입력>
print(bin(11))
print(oct(11))
print(hex(11))
<출력>
타입은 모두 스트링
0b1011 (2진법은 앞에 0b가 붙는다)
0o13 (8진법은 앞에 0o가 붙는다)
0xb (16진법은 앞에 0x가 붙는다)
* 2,8,16 진수가 아닌 다른 진수로 바꾸고 싶으면 다음 함수를 이용한다.
def convert(n, base):
'''
n: base진수로 바꿀 10진수
base : 진수
'''
q, r = divmod(n, base)
if q == 0:
return str(r)
else:
return convert(q, base) + str(r)
n(2,8,16)진수를 10진수로 바꾸는방법
n진수 y를 10진수로 바꾸고 싶을때?
두가지 방법이 있다.
1. int("y",n)
2. int(y)
당연히 2번을 하는게 깔끔하다
#11의 8진수는 0o13
#13의 16진수는 0xd
print(int("0o13",8))
print(int(0o13))
print(int("0xd",16))
print(int(0xd))
11
11
13
13
반응형