goodthings4me.tistory.com
진수 변환 코드 - 파이썬에서 진수를 어떻게 계산하는지 찾아보니 10진수를 2진수, 8진수, 16진수 변환하기 위해서는 bin(), oct(), hex() 함수를 각각 사용한다. 오늘은 이 함수를 가지고 진수를 상호 변환하는 코드를 연습해봤다.
파이썬 진수 변환 : 2진수, 8진수, 10진수, 16진수 상호 간 변환하기
10진수인 경우에는 bin(), oct(), hex() 함수의 매개변수로 대입해주면 바로 각각의 진수 형태로 변환이 되지만 2진수, 8진수, 16진수의 경우는 10진수로 변환 후에 각각의 진수에 대입하는 방법으로 진수 변환을 했다.
[파이썬 소스 코드]
def antilogarithm_convert():
ex = {'2':'0b', '8':'0o', '10':'양수', '16':'0x'}
antilog = ''
while antilog not in ('2', '8', '10', '16'):
antilog = input('\n입력할 진수 선택\n(2, 8, 10, 16 중 1개 입력): ')
for i in range(3):
try:
res = input(f'\n{antilog}진수는 "{ex[antilog]}"로 시작: ')
print(f'\n입력한 {antilog}진수 "{res}"에 대해...')
if antilog == '2':
print('8진수:', oct(int(res, 2)))
print('10진수:', int(res, 2))
print('16진수:', hex(int(res, 2)))
if antilog == '8':
print('2진수:', bin(int(res, 8)))
print('10진수:', int(res, 8))
print('16진수:', hex(int(res, 8)))
if antilog == '10':
print('2진수:', bin(int(res)))
print('8진수:', oct(int(res)))
print('16진수:', hex(int(res)))
if antilog == '16':
print('2진수:', bin(int(res, 16)))
print('8진수:', oct(int(res, 16)))
print('10진수:', int(res, 16))
break
except:
print('잘 못 입력했네요!')
antilogarithm_convert()
- 오입력 에러 처리를 위해서 '입력할 진수 선택' 시 2, 8, 10, 16 이외의 숫자를 입력할 경우 while 반복문으로 다시 입력하도록 했고,
- 진수를 잘 못 입력한 경우에는 for 문으로 2회 더 입력할 기회를 주었다.
[실행 결과]
입력할 진수 선택
(2, 8, 10, 16 중 1개 입력): 10
10진수는 "양수"로 시작: 255
입력한 10진수 "255"에 대해...
2진수: 0b11111111
8진수: 0o377
16진수: 0xff
입력할 진수 선택
(2, 8, 10, 16 중 1개 입력): 2
2진수는 "0b"로 시작: 0b11111011
입력한 2진수 "0b11111011"에 대해...
8진수: 0o373
10진수: 251
16진수: 0xfb
입력할 진수 선택
(2, 8, 10, 16 중 1개 입력): 8
8진수는 "0o"로 시작: 0o342
입력한 8진수 "0o342"에 대해...
2진수: 0b11100010
10진수: 226
16진수: 0xe2
입력할 진수 선택
(2, 8, 10, 16 중 1개 입력): 16
16진수는 "0x"로 시작: 0xff9a
입력한 16진수 "0xff9a"에 대해...
2진수: 0b1111111110011010
8진수: 0o177632
10진수: 65434
###############################
# 입력 에러 처리는
입력할 진수 선택
(2, 8, 10, 16 중 1개 입력): 3
입력할 진수 선택
(2, 8, 10, 16 중 1개 입력): a
입력할 진수 선택
(2, 8, 10, 16 중 1개 입력): 2
2진수는 "0b"로 시작: ob1111
입력한 2진수 "ob1111"에 대해...
잘 못 입력했네요!
2진수는 "0b"로 시작: 0b2222
입력한 2진수 "0b2222"에 대해...
잘 못 입력했네요!
2진수는 "0b"로 시작: 0b1212
입력한 2진수 "0b1212"에 대해...
잘 못 입력했네요!
※ 위 코드를 파이썬 Tkinter 모듈과 함께 만든 '진수 변환기' 프로그램 다운로드

블로그 인기글
Windows 10 탐색기 느려지는 증상과 해결하는 방법
잘 작동하던 Windows 10 탐색기가 갑자기 느려지는 증상이 발생했을 때 어떻게 조치를 하는지 구글에서 찾아보니 많은 해결책들이 있었으나 어떤 것이 정확한 해결책인지는 알 수가 없었다. 그래서 해결방법이라고 제시한 것들을 정리해 보았다. 윈도우 탐색기가 느려지는 증상 해결 방법 어느 순간부터 응용프로그램(VS Code 등)에서 폴더 열기나 파일 불러오기를 했을 때 검색 팝업창이 안 뜨거나 열리는 시간이 엄청 느려지는 증상과, 더불어서 탐색기도 실행이 많이 느려지는 증상이 있었다. 기존에 사용하던 VS Code에 openpyxl 설치 후 실행이 느려지는 증상이 발생하더니 윈도우10 탐색기도 느려져서 사용할 수가 없었다. 노트북에 OS(Windows10)를 설치한지 1년이 다 되어가긴 했지만, 1개월 전..
goodthings4me.tistory.com
[국세청] 현금영수증가맹점으로 가입바랍니다. 메시지 해결방법(개인사업자)
▶ 현금영수증 가맹점 가입 메시지를 받고... 온라인 쇼핑몰 사업을 시작하려고 사업자등록증을 발급받고 난 후 얼마 안 있어서 국세청으로부터 어느 시점까지 '현금영수증 가맹점'으로 가입하라는 문자메시지가 받았었다. 그 메시지 기한이 오늘 도래했는데, 인터넷에서 찾아보니 홈택스에서 현금영수증 발급 사업자 신청을 할 수가 있었다. [관련내용] 홈>국세정책/제도>전자(세금)계산서/현금영수증/신용카드>현금영수증∙신용카드>가맹점가입 ▶ 홈택스 사이트에서 신청하는 절차는 다음과 같다. 우선, 홈택스에 로그인을 해야 합니다. 세상이 좋아져서 공인인증서 없이도 손쉽게 간편인증 로그인이 가능하다. 여러 인증방법 중 카카오톡 인증이 가장 편리한 거 같다. 간편인증 로그인 후 상단 '조회/발급' 탭 클릭 후 '현금영수증>현금..
goodthings4me.tistory.com
폐업 신고 절차와 부가가치세 신고하는 방법
폐업 신고 시 세무서 안 가고 온라인으로 신고하는 방법인 '국세청 홈택스를 이용하여 폐업 신고하는 절차와 폐업 후 해야 하는 부가가치세 신고, 인건비 저리, 종합소득세 신고 등에 대해 포스팅합니다. 폐업 신고 시 홈택스 이용하는 방법과 부가가치세 등 신고 절차 여러가지 사유로 폐업을 해야 할 때, 예전에는 세무서를 방문해야 했지만 국세청 홈택스가 생긴 이후에는 사업자 등록이나 폐업 등을 인터넷으로 할 수가 있게 되었습니다. 특히, 코로나 시국인 요즘은 더더욱 온라인 신청 업무가 더 활성화되었죠. 폐업을 한다는 것 자체가 우울한 일인데, 발품을 파는 것보다는 커피 한잔 하면서 인터넷으로 간단하게 처리하는 게 좋을 듯하여 그 절차를 올려봅니다. 폐업은 폐업 신고와 함께 폐업 후 절차까지 모두 마쳐야 불이익이..
goodthings4me.tistory.com
'코딩 연습 > 파이썬 기초(예제)' 카테고리의 다른 글
파이썬 while문 isdecimal(), isdigit(), isnumeric() 활용하기 (0) | 2022.05.04 |
---|---|
구구단 게임 [파이썬기초예제] (0) | 2022.04.28 |
가위바위보 게임 [파이썬기초예제] (0) | 2022.04.21 |
bmi 계산하기 - 한국인의 체질량 지수 계산 [파이썬기초예제] (0) | 2022.04.20 |
북마크 관리 프로그램 코딩, 엑셀 생성 관리 [파이썬기초(예제)] (0) | 2022.04.17 |
댓글