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

+ Recent posts