goodthings4me.tistory.com
■ 파이썬에서 10진수를 다른 진수의 문자열로 변환할 경우, 파이썬의 내장 함수 bin(), oct(), hex()를 사용하며, 역으로, 다른 진수의 문자열을 10진수 숫자형으로 변환할 때는 int()를 사용한다.
print(bin(10)) # 0b1010
print(oct(10)) # 0o12
print(hex(10)) # 0xa
print(int('0b1010', 2)) # 10
print(int('0o12', 8)) # 10
print(int('0xa', 16)) # 10
■ format() 내장 함수를 이용하는 방법(접두어 포함 여부를 선택할 수 있음)
# 진수(2/8/10/16) 관련 함수 사용
for i in range(16):
print('(10진수:{0:2d}) (2진수:{1:>6s}) (8진수:{2:>4s}) (16진수:{3:>4s})'\
.format(i, bin(i), oct(i), hex(i)))
[실행 결과]
(10진수: 0) (2진수: 0b0) (8진수: 0o0) (16진수: 0x0)
(10진수: 1) (2진수: 0b1) (8진수: 0o1) (16진수: 0x1)
(10진수: 2) (2진수: 0b10) (8진수: 0o2) (16진수: 0x2)
(10진수: 3) (2진수: 0b11) (8진수: 0o3) (16진수: 0x3)
(10진수: 4) (2진수: 0b100) (8진수: 0o4) (16진수: 0x4)
(10진수: 5) (2진수: 0b101) (8진수: 0o5) (16진수: 0x5)
(10진수: 6) (2진수: 0b110) (8진수: 0o6) (16진수: 0x6)
(10진수: 7) (2진수: 0b111) (8진수: 0o7) (16진수: 0x7)
(10진수: 8) (2진수:0b1000) (8진수:0o10) (16진수: 0x8)
(10진수: 9) (2진수:0b1001) (8진수:0o11) (16진수: 0x9)
(10진수:10) (2진수:0b1010) (8진수:0o12) (16진수: 0xa)
(10진수:11) (2진수:0b1011) (8진수:0o13) (16진수: 0xb)
(10진수:12) (2진수:0b1100) (8진수:0o14) (16진수: 0xc)
(10진수:13) (2진수:0b1101) (8진수:0o15) (16진수: 0xd)
(10진수:14) (2진수:0b1110) (8진수:0o16) (16진수: 0xe)
(10진수:15) (2진수:0b1111) (8진수:0o17) (16진수: 0xf)
# 0b, 0o, 0x 포함
for i in range(16):
print('{0:>#6b}, {1:>#4o}, {2:>#2d}, {3:>#4x}'.format(i, i ,i, i))
[실행 결과]
0b0, 0o0, 0, 0x0
0b1, 0o1, 1, 0x1
0b10, 0o2, 2, 0x2
0b11, 0o3, 3, 0x3
0b100, 0o4, 4, 0x4
0b101, 0o5, 5, 0x5
0b110, 0o6, 6, 0x6
0b111, 0o7, 7, 0x7
0b1000, 0o10, 8, 0x8
0b1001, 0o11, 9, 0x9
0b1010, 0o12, 10, 0xa
0b1011, 0o13, 11, 0xb
0b1100, 0o14, 12, 0xc
0b1101, 0o15, 13, 0xd
0b1110, 0o16, 14, 0xe
0b1111, 0o17, 15, 0xf
# '#' 제외 시, 0b/ 0o/ 0x 제외됨
for i in range(16):
print('{0:>6b}, {1:>4o}, {2:>2d}, {3:>4x}'.format(i, i ,i, i))
[실행 결과]
0, 0, 0, 0
1, 1, 1, 1
10, 2, 2, 2
11, 3, 3, 3
100, 4, 4, 4
101, 5, 5, 5
110, 6, 6, 6
111, 7, 7, 7
1000, 10, 8, 8
1001, 11, 9, 9
1010, 12, 10, a
1011, 13, 11, b
1100, 14, 12, c
1101, 15, 13, d
1110, 16, 14, e
1111, 17, 15, f
■ 2/8/10/16진수 중 하나의 값을 입력하면, 입력값의 2/8/10/16진수 전체를 알려주는 함수 작성
def notation():
while True:
sel_n = input('구하고자 하는 진수 숫자(2/8/10/16) 입력은? (종료는 0)>> ')
if sel_n == '0':
print('프로그램 종료!!')
break
elif sel_n == '2' or sel_n == '8' or sel_n == '10' or sel_n == '16' :
val = input('선택한 진수의 값 입력>> ')
sl = val[:2]
try:
if sl == '0b' or sl == '0o' or sl == '0x':
if sl == '0b':
int_num = int(val, 2)
elif sl == '0o':
int_num = int(val, 8)
elif sl == '0x':
int_num = int(val, 16)
else:
if sel_n == '2':
int_num = int('0b' + val, 2)
elif sel_n == '8':
int_num = int('0o' + val, 8)
elif sel_n == '10':
int_num = int(val)
elif sel_n == '16':
int_num = int('0x' + val, 16)
except Exception as e:
print(e)
print('잘못 된 값을 입력하셨습니다.')
continue
print(' 2진수 : {0} [{1:b}]'.format(bin(int_num), int_num)) # 0b111 #b
print(' 8진수 : {0} [{1:o}]'.format(oct(int_num), int_num)) # 0o7 #o
print('10진수 : {0}'.format(int_num))
print('16진수 : {0} [{1:x}]'.format(hex(int_num), int_num)) # 0x7 #x
else:
print('선택 오류!! (다시 입력하세요.)')
notation()
[실행 결과]
구하고자 하는 진수 숫자(2/8/10/16) 입력은? (종료는 0)>> 16
선택한 진수의 값 입력>> FFA1
2진수 : 0b1111111110100001 [1111111110100001]
8진수 : 0o177641 [177641]
10진수 : 65441
16진수 : 0xffa1 [ffa1]
구하고자 하는 진수 숫자(2/8/10/16) 입력은? (종료는 0)>> 10
선택한 진수의 값 입력>> 128
2진수 : 0b10000000 [10000000]
8진수 : 0o200 [200]
10진수 : 128
16진수 : 0x80 [80]
구하고자 하는 진수 숫자(2/8/10/16) 입력은? (종료는 0)>> 8
선택한 진수의 값 입력>> 123
2진수 : 0b1010011 [1010011]
8진수 : 0o123 [123]
10진수 : 83
16진수 : 0x53 [53]
구하고자 하는 진수 숫자(2/8/10/16) 입력은? (종료는 0)>> 2
선택한 진수의 값 입력>> 11011101
2진수 : 0b11011101 [11011101]
8진수 : 0o335 [335]
10진수 : 221
16진수 : 0xdd [dd]
구하고자 하는 진수 숫자(2/8/10/16) 입력은? (종료는 0)>> 0
프로그램 종료!!

블로그 인기글
유튜브 영상 등의 URL 주소를 QR코드로 만들기
네이버 QR코드, makeQR, MUST QRcode, 무료 온라인 QRCode 생성기 등의 웹사이트에서 유튜브 영상 등의 URL을 입력하여 QR코드를 만들 수 있다. QR코드를 생성할 수 있는 사이트와 프로그램 URL 주소를 붙여넣기 한 후 "QR 코드 생성" 버튼을 클릭하면 큐알코드가 이미지로 생성되고, 다운로드도 할 수 있는 사이트 https://truedoum.com/useful/qrcode/ # 유튜브에서 동영상 URL을 복사하는 방법 유튜브에서 QR코드를 만들 동영상을 검색한다. 해당 동영상을 클릭한다. 동영상 위에서 마우스 우클릭 후 나오는 팝업창에서 “동영상 URL 복사”를 클릭하거나 영상 하단의 “공유”를 클릭하여 나온 창에서 URL를 복사한다. 아래의 웹사이트 중 하나를 선택한 후 복사..
goodthings4me.tistory.com
폐업 신고 절차와 부가가치세 신고하는 방법
폐업 신고 시 세무서 안 가고 온라인으로 신고하는 방법인 '국세청 홈택스를 이용하여 폐업 신고하는 절차와 폐업 후 해야 하는 부가가치세 신고, 인건비 저리, 종합소득세 신고 등에 대해 포스팅합니다. 폐업 신고 시 홈택스 이용하는 방법과 부가가치세 등 신고 절차 여러가지 사유로 폐업을 해야 할 때, 예전에는 세무서를 방문해야 했지만 국세청 홈택스가 생긴 이후에는 사업자 등록이나 폐업 등을 인터넷으로 할 수가 있게 되었습니다. 특히, 코로나 시국인 요즘은 더더욱 온라인 신청 업무가 더 활성화되었죠. 폐업을 한다는 것 자체가 우울한 일인데, 발품을 파는 것보다는 커피 한잔 하면서 인터넷으로 간단하게 처리하는 게 좋을 듯하여 그 절차를 올려봅니다. 폐업은 폐업 신고와 함께 폐업 후 절차까지 모두 마쳐야 불이익이..
goodthings4me.tistory.com
[국세청] 현금영수증가맹점으로 가입바랍니다. 메시지 해결방법(개인사업자)
▶ 현금영수증 가맹점 가입 메시지를 받고... 온라인 쇼핑몰 사업을 시작하려고 사업자등록증을 발급받고 난 후 얼마 안 있어서 국세청으로부터 어느 시점까지 '현금영수증 가맹점'으로 가입하라는 문자메시지가 받았었다. 그 메시지 기한이 오늘 도래했는데, 인터넷에서 찾아보니 홈택스에서 현금영수증 발급 사업자 신청을 할 수가 있었다. [관련내용] 홈>국세정책/제도>전자(세금)계산서/현금영수증/신용카드>현금영수증∙신용카드>가맹점가입 ▶ 홈택스 사이트에서 신청하는 절차는 다음과 같다. 우선, 홈택스에 로그인을 해야 합니다. 세상이 좋아져서 공인인증서 없이도 손쉽게 간편인증 로그인이 가능하다. 여러 인증방법 중 카카오톡 인증이 가장 편리한 거 같다. 간편인증 로그인 후 상단 '조회/발급' 탭 클릭 후 '현금영수증>현금..
goodthings4me.tistory.com
'코딩 연습 > 코딩배우기' 카테고리의 다른 글
[python] 파이썬 함수의 위치 인자, 키워드 인자 언패킹 (0) | 2020.09.19 |
---|---|
[python] 파이썬의 변수, 객체, 그리고 참조 주소 (0) | 2020.09.19 |
[python] 파이썬 스태틱(static) 메서드와 클래스(class) 메서드 (0) | 2020.09.17 |
[python] 파이썬 데코레이터 (Decorator) (0) | 2020.09.16 |
[python] 파이썬 중첩함수(Nested Function)와 클로저(Closure) (0) | 2020.09.15 |
댓글