728x90
- 10진수 -> 타진수로 변환
- 원하는 타진법의 수로 나눈 뒤 나머지를 거꾸로 읽기
- ex) 149를 2진수로
- 2진수, 8진수, 16진수간 변환
- 다른 진수의 형태로 표현
- 2진수 : 0b
- 8진수 : 0o
- 16진수 : 0x (0~9, A~F)
- ex) 10을 2진수, 8진수, 16진수로 표현하기
# 2진수
print(10 == 0b1010)
# 8진수
print(10 == 0o12)
# 16진수
print(10 == 0xA)
- 숫자에서 다른 진수의 문자열로 바꾸기
# 2진수
print(bin(10)) # 0b1010
# 8진수
print(oct(10)) # 0o12
# 16진수
print(hex(10)) # 0xa
- format() 내장 함수로 다른 진수의 문자열로 바꾸기
# 접두어 제외
# 2진수
print(format(10,'b')) # 1010
# 8진수
print(format(10,'o')) # 12
# 16진수
print(format(10,'x')) # a
print(format(10,'X')) # A
# 접두어 포함
# 2진수
print(format(10,'#b')) # 0b1010
# 8진수
print(format(10,'#o')) # 0o12
# 16진수
print(format(10,'#x')) # 0xa
print(format(10,'#X')) # 0xA
- 다른 진수의 문자열을 숫자형으로 바꾸기
(int() 함수의 2번째 인자의 디폴트 값은 10)
# 2진수
print(int('0b1010',2)) # 10
# 8진수
print(int('0o12',8)) # 10
# 16진수
print(int('0xa',16)) # 10
- 컴퓨터에서의 음의 정수 표현 방법
- 1의 보수 : 부호와 절대값으로 표현된 값을 부호 비트를 제외한 나머지 비트들을 0은 1로, 1은 0으로 변환
- ex)
- -6 : 1000000000000110 : 부호와 절대값 표현
- -6 : 1111111111111001 : 1의 보수 표현
- 문제점 : -0,+0이 생김
- ex)
- 2의 보수 : 1의 보수방법으로 표현된 값의 최하위 비트에 1을 더한다.
- ex)
- -6 : 1111111111111010 : 2의 보수 표현
- 맨앞 1이면 -, 0이면 +
- 8bit인 경우 -128~127까지 256가지 표현 가능
- ex)
- 1의 보수 : 부호와 절대값으로 표현된 값을 부호 비트를 제외한 나머지 비트들을 0은 1로, 1은 0으로 변환
728x90
반응형
'TIL - 프로그래밍 > 개념, 설정' 카테고리의 다른 글
[Python] 반복과 재귀 (0) | 2022.03.26 |
---|---|
[Python] 비트 연산 (0) | 2022.03.23 |
[Python] 복잡도 분석, 표준 입출력 방법 (0) | 2022.03.20 |
[Python] BFS (0) | 2022.03.18 |
[Python] Queue2 (우선순위큐, 버퍼) (0) | 2022.03.17 |
댓글