10진수에서 2진수, 8진수, 16진수로 변환
1. 내장함수 이용하기
10진수에서 2진수, 8진수, 16진수로 변환할 때 파이썬의 내장함수를 이용해 쉽게 변환할 수 있습니다.
이 때 문자열로 변환해서 string 타입입니다 .
10진수 → 2진수 : bin()
10진수 → 8진수 : oct()
10진수 → 16진수 : hex()
a=10
b=bin(a)
# 결과>>0b1010
print(b)
# 결과>>0b1010
print('%s' %b)
o=oct(a)
# 결과>>0o12
print(o)
# 결과>>0o12
print('%s' %o)
h=hex(a)
# 결과>>0xa
print(h)
# 결과>>0xa
print('%s' %h)
10진수를 제외하고 2진수, 8진수, 16진수에는 접두어를 사용해 진수를 구분해줍니다.
접두어는 숫자 0과 각 진수의 소문자 하나로 이루어져 있습니다.
2진수 : binary
8진수 : octadecimal
16진수 : hexadecimal
2진수 : 0b
8진수 : 0o
16진수 : 0x
그래서 결과에 0b, 0o, 0x가 같이 출력되는 것을 알 수 있습니다.
2. %연산자 이용하기
10진수에서 8진수, 16진수로 변환할 때 %연산자를 이용해 print() 문장에서 값을 간단하게 출력할 수 있습니다.
8진수 : %o
16진수 : %x (16진수의 소문자로 출력)
%X (16진수의 대문자로 출력)
%x로 출력하면 16진수의 소문자로 출력되고 %X로 출력하면 16진수의 대문자로 출력된다.
a=10
# 결과>>12
print('%o' %a)
# 결과>>a
print('%x' %a)
# 결과>>A
print('%X' %a)
%연산자를 이용해 출력할때는 8진수 앞의 0o, 16진수 앞의 0x가 생략되어 출력됩니다.
2진수, 8진수, 16진수에서 10진수로 변환
2진수, 8진수, 16진수에서 10진수로 변환하려면 int형 변환을 이용하면 됩니다.
n진수 → 10진수 : int(바꿀 숫자, n)
b=int('0b1010', 2)
# 결과>>10
print(b)
o=int('0o12', 8)
# 결과>>10
print(o)
h=int('0xa', 16)
# 결과>>10
print(h)
'Python > 파이썬 기초' 카테고리의 다른 글
파이썬_기초 9_continue, break (0) | 2020.04.08 |
---|---|
파이썬_기초 8_while문 (0) | 2020.04.07 |
파이썬_기초 6_sep, end (0) | 2020.04.04 |
파이썬_기초 5_for문 (0) | 2020.04.04 |
파이썬_기초 4_if문 (0) | 2020.04.03 |