1-1. 16진수 개념
https://codeup.kr/problem.php?id=6027
10진수 형태로 입력받고 %x로 출력하면 16진수(hexadecimal) 소문자로 출력된다.
%o로 출력하면 8진수(octal) 문자열로 출력된다.
10진법은 한 자리에 10개(0 1 2 3 4 5 6 7 8 9)의 문자를 사용하고,
16진법은 영문 소문자를 사용하는 경우에 한 자리에 16개(0 1 2 3 4 5 6 7 8 9 a b c d e f)의 문자를 사용한다.
16진수 a는 10진수의 10, b는 11, c는 12 ... 와 같다.
1-2. 16진수 예시
a=input()
a=int(a)
print('%x'%a)
-----
10진수 형태로 입력받고
%X로 출력하면 16진수(hexadecimal)대문자로 출력된다.
16진법은 영문 소문자를 사용하는 경우에 한 자리에 16개(0 1 2 3 4 5 6 7 8 9 A B C D E F)의 문자를 사용한다.
16진수 A는 10진수의 10, B는 11, C는 12 ... 와 같다.
a=input()
a=int(a)
print('%X'%a)
2-1. 8진수 개념
https://codeup.kr/problem.php?id=6029
8진법은 한 자리에 8개(0 1 2 3 4 5 6 7)의 문자를 사용한다.
8진수 10은 10진수의 8, 11은 9, 12는 10 ... 와 같다.
2-2. 8진수 예시
a=input()
hexa=int(a, 16)
print('%o'%hexa)
3-1. 10진수 ord 개념
n = ord(input())
#입력받은 문자를 10진수 유니코드 값으로 변환한 후, n에 저장한다.
ord( ) 는 어떤 문자의 순서 위치(ordinal position) 값을 의미한다.
실제로 각각의 문자들에는 연속된 정수 값이 순서에 따라 부여 되어 있다. A:65, B:66, C:67 ....
ord(c) : 문자 c 를 10진수로 변환한 값
컴퓨터로 저장되고 처리되는 모든 데이터들은 2진수 형태로 정수화 되어야 하는데,
컴퓨터에 문자를 저장하는 방법으로 아스키코드(ASCII Code)나 유니코드(Unicode)가 자주 사용된다.
예를 들어, 영문 대문자 'A'는 10진수 값 65 로 표현하고,
2진수(binary digit) 값 1000001 로 바꾸어 컴퓨터 내부에 저장한다.
유니코드(unicode)는 세계 여러 나라의 문자를 공통된 코드 값으로 저장할 때 사용하는 표준 코드이다.
3-2. 10진수 ord 예시
a=ord(input())
print(a)
4-1. 10진수 chr 개념
입력은 기본적으로 모두 문자열로 입력되는 것이라고 할 수 있다.
따라서, 입력 값이 문자/문자열/정수/실수인지에 따라서 먼저 정확하게 변환시킨 다음에 사용하거나 계산하는 것이 좋다.
예를 들어 123 이 입력 되었다고 한다면, 이건 정수일까? 문자열일까?
조금 생각해보면, 입력된 것만 보고는 그 값이 어떤 데이터인지 알 수 없다는 것을 쉽게 이해할 수 있다.
따라서, 그 입력 값을 어떻게 해석하고 변환할 지에 대해서 명확하게 작성해 주어야 하는 것이다.
chr( )는 정수값->문자, ord( )는 문자->정수값 형태로 바꿔주는 서로 반대 방향으로 바꾸어 주는 기능을 한다.
4-2. 10진수 chr 예시
a=int(input())
print(chr(a))
'프로그래밍 언어 > Python' 카테고리의 다른 글
파이썬 비트시프트연산 (0) | 2022.10.05 |
---|---|
파이썬 실수형 소수점 자리 변환 (1) | 2022.10.05 |
파이썬 문자열 슬라이스 (0) | 2022.10.05 |
파이썬 split, sep (0) | 2022.10.05 |
파이썬 연산자 (0) | 2022.09.18 |