혼자 공부하는 컴퓨터 구조+운영체제
데이터
컴퓨터는 0과 1로 모든 정보를 표현하고, 0과 1로 표현된 정보만을 이해할 수 있다.
정보 단위
- 0과 1를 나타내는 가장 작은 정보 단위를
비트
라고 한다.
- n비트는 2의 n승 가지 정보를 표현할 수 있다.
| |
---|
1바이트(1byte) | 8비트(8bit) |
1킬로바이트(1kB) | 1,000바이트(1,000byte) |
1메가바이트(1MB) | 1,000킬로바이트(1,000kB) |
1기가바이트(1GB) | 1,000메가바이트(1,000MB) |
1테라바이트(1TB) | 1,000기가바이트(1,000GB) |
- 이전 단위 1,024개를 묶어 표현한 단위는 kiB, MiB, GiB, TiB로 표현
이진법
-
1을 넘어가는 시점에 자리 올림하여 0과 1만으로 모든 숫자를 표현하는 방법
-
이진법으로 표현한 수를 이진수라고 한다.
-
이진수 음수 표현
- 2의 보수를 구해 음수로 간주
- 2의 보수를 쉽게 표현하자면
모든 0과 1을 뒤집고, 거기에 1을 더한 값
-
이진수 음수인지 양수인지 구분하기 위해 플래그
를 사용한다.
-
플래그 = 부가 정보 👉 컴퓨터가 부호를 헷갈릴 일은 없다.
십육진법
- 15를 넘어가는 시점에 자리 올림하여 수를 표현하는 방법
- 이진법으로는 숫자의 길이가 너무 길어진다는 단점이 있어 십육진법도 많이 사용
이진수 - 십육진수 변환
십육진수 👉 이진수
이진수 👉 십육진수
인코딩
- 컴퓨터가 인식하고 표현할 수 있는 문자 모음을
문자 집합
이라고 한다.
- 문자 인코딩: 문자 집합에 속한 문자를 컴퓨터가 이해할 수 있는 0과 1로 변환하는 것
- 문자 디코딩: 인코딩의 반대. 0과 1로 이루어진 문자 코드를 사람이 이해할 수 있는 문자로 변환
- 한글 인코딩 : 완성형 / 조합형
아스키 코드
- 초창기 문자 집합 중 하나
- 7비트로 하나의 문자 표현(총 128개 문자 표현 가능).
8비트 중 1비트는 오류 검출을 위해 사용되는 패리티 비트(parity bit)
- 8비트 확장 아스키가 등장 했지만 여전히 부족
EUC-KR
- 완성형 인코딩
- 2300여개의 한글 표현 가능. but 모든 한글을 표현하기엔 부족
- 쀏, 뙠, 휔 같은 한글 표현 불가능
유니코드
- 통일된 문자 집합
- 한글, 영어, 특수 문자, 이모티콘까지 표현
- UTF(Unicode Transformation Format) == 유니코드의 인코딩 방법
- utf-8 인코딩 : 1~4바이트까지의 인코딩 결과