Home TIL 220207
Post
Cancel

TIL 220207

Python

split 함수

특정한 구분자로 구분되어 입력된 값을 나누어 저장할때 사용
a, b = input().split()

map 함수

리스트 형태의 요소를 한번에 형변환할 때 사용
a, b = map(int, input().split())

문자열 인덱싱/슬라이싱

1
2
str = "korea"
print(str[1:4])

str[a:b]는 문자열의 a번 인덱스부터 b-1번 인덱스까지를 의미하므로 위 코드를 실행시키면 1번인덱스인 o부터 3번 인덱스인 e까지인 ore가 출력된다.

https://wikidocs.net/2838

진수 변환

입력 a = int(input(),16) 16진수로 입력받음

code

1
2
3
4
5
print("%d", %a) # 10진수 출력
print("%x", %a) # 16진수 출력
print("%X", %a) # 16진수 대문자로 출력
print("%o", %a) # 8진수 출력
print("%O", %a) # 8진수 대문자로 출력

유니코드 변환

ord() : 문자를 유니코드 상의 정수로 변환
chr() : 정수를 유니코드 문자로 변환

소숫점 반올림

format(a, ".2f") : 소숫점 이하 2번째 자리까지 반올림
format(a, ".3f") : 소숫점 이하 3번째 자리까지 반올림

비트 연산자

비트 시프트

n << k : n을 왼쪽으로 k칸씩 이동 → n x 2k
n >> k n: 을 오른쪽으로 k칸씩 이동 → n x 2-k
n << 1 : n x 21
12 << 2 : 12의 4배이므로 48
12 >> 2 : 12의 1/4배이므로 3

~ (tilde) 연산

비트 단위로 True/False를 맞바꾸는 연산
~n = -n - 1 -n = ~n + 1

2진수 음수표기 방법

첫번째 방법
2진수의 제일 끝 자리를 부호용으로 정한 표기법

두번째 방법 : 1의 보수
2진수 양수의 각 비트를 반대로 바꿈.
ex) -5를 표현하기 위해 5인 0101을 1010으로 바꿈.
양수와 음수를 계산할 때 원래의 값에서 1이 작게 나오는 문제 발생.

최종 방법 : 2의 보수
1의 보수의 문제를 해결하기 위해 1의 보수로 변환 후 1을 더함.

Ref.

Twos complement: Negative numbers in binary (Ben Eater)
관련 예제

This post is licensed under CC BY 4.0 by the author.

WSL2에서 vscode가 실행되지 않는 문제 (code 명령어)

VSCode (Visual Studio Code) 단축키 (macOS)