2-1. 0과 1로 숫자를 표현하는 방법
정보 단위
- 컴퓨터의 정보는 0과 1로 표현
- 비트(bit) : 0과 1을 나타내는 가장 작은 정보 단위
- 1byte = 8bit / 1kB = 1000byte / 1MB = 1000kB / 1GB = 1000MB / 1TB = 1000GB
- 워드(word) : CPU가 한 번에 처리할 수 있는 데이터 크기
이진법
- 십진법(decimal) : ‘0~9’까지 10개의 숫자로 모든 수를 표현
- 이진법(binary) : ‘0, 1’ 2개의 숫자로 모든 수를 표현, 앞에 0b를 붙이거나 뒤에 (2) 아래첨자 붙임
- 음수 표현
- 2의 보수(two’s complement) : 어떤 수를 그보다 큰 2^n에서 뺀 값.
- 2자리면 3자리(100)에서 원래 수를 빼는 것(11의 2의 보수 → 100 - 11 = 01)
- 모든 0과 1을 반대로 뒤집고 거기에 1을 더한 값
- 0이나 2^n 의 보수는 위와 다른 방식으로 구해야 함
- 0은 한 자리가 더해지고(맨 앞의 1을 버리면 됨), 2^n 은 자기 자신이 된다.
- 십육진법(hexadecimal) : ‘0~15’ 16개의 숫자로 모든 수를 표현(10~15 = A~F), 앞에 0x 또는 뒤에 (16) 아래첨자
- 십육진법 사용 이유
- 큰 숫자를 이진수로 표현하면 너무 길어진다.
- 이진수 ↔ 십육진수 변환이 쉽다.
- 십육진수 → 이진수 : 한 자리를 2진수로 각각 변환 후 그냥 이어붙여쓰면 된다.
- 이진수 → 십육진수 : 4자리씩 끊어서 십육진수로 변환
2-2. 0과 1로 문자를 표현하는 방법
문자 집합과 인코딩
- 문자 집합(character set) : 컴퓨터가 인식, 표현 가능한 문자 모음
- 인코딩(encoding) : 문자를 0과 1로 변환하는 과정, 인코딩 방법은 다양함
- 디코딩(decoding) : 0과 1로 이뤄진 코드를 문자로 변환하는 과정