컴퓨터는 다양한 진법(진수)을 사용하여 숫자를 표현할 수 있습니다. 주로 사용되는 진법은 2진수, 8진수, 10진수, 16진수입니다.
10진수는 우리가 일상적으로 사용하는 숫자 체계입니다. 0부터 9까지의 숫자를 사용합니다.
2진수는 0과 1 두 개의 숫자만 사용합니다. 컴퓨터 내부에서 데이터를 표현할 때 주로 사용됩니다.
8진수는 0부터 7까지의 숫자를 사용합니다. 2진수와 10진수 사이의 중간 단계로 사용되기도 합니다.
8진수는 숫자 앞에 '0o'를 붙여서 표현한다.
16진수는 0부터 9까지의 숫자와 A부터 F까지의 문자를 사용합니다. A는 10, B는 11, C는 12, D는 13, E는 14, F는 15를 의미합니다. 메모리 주소 등을 표현할 때 사용됩니다.
16진수는 숫자앞에 '0x'를 붙여서 표현한다.
문제: 진수 변환 프로그램
사용자가 입력한 10진수 숫자를 2진수, 8진수, 16진수로 변환하는 파이썬 프로그램을 작성하세요.
요구사항
사용자로부터 10진수 숫자를 입력 받습니다.
입력 받은 숫자를 2진수, 8진수, 16진수로 변환합니다.
변환 결과를 출력합니다.
num = int(input('10진수 숫자를 입력하세요: '))
bin_num = bin(num); oct_num = oct(num); hex_num = hex(num)
print(f'10진수 {num} => 2진수 : {bin_num}, 8진수: {oct_num}, 16진수: {hex_num}')
# 역으로 2, 8, 16진수를 10진수로 바꾸기
b_to_10 = int(bin_num, 2)
o_to_10 = int(oct_num, 8)
h_to_10 = int(hex_num, 16)
print(f'2진수 : {bin_num} => 10진수: {b_to_10}, 8진수: {oct_num} => 10진수: {b_to_10}, 16진수: {hex_num} => 10진수: {b_to_10}', sep = '\n')