1. 정보 단위
비트(bit)
- 0과 1을 표현할 수 있는 가장 작은 단위
- n비트로 2의 n승 의 정보 표현 가능
- 프로그램은 수많은 비트로 이뤄져 있음
크기 : 비트<바이트<킬로바이트<메가바이트<기가바이트<테라바이트
용량 : 1byte=8bit / 1KB=1000byte / 1MB=1000KB / 1GB=1000MB / 1TB=1000GB
워드(word)
- CPU가 한번에 처리할 수 있는 정보의 크기 단위
크기: 하프 워드(half)<풀 워드(full)>더블 워드(double)
2. 이진법(binary)
개념
- 0과 1로 모든 수를 표현하는 방법
- 숫자가 1을 넘어가는 시점에서 자리올림
- 접두어 ob
- 1000(2) vs ob1000
음수
- 2의 보수
- flag를 사용해서 음수를 구분함 ex) 부호 비트(sign bit, 0이면 양수 / 1이면 음수 )
- 계산 방법
1) 먼저 음수를 표현하고자 하는 수의 절댓값을 이진법으로 표현
2) 모든 비트를 뒤집습니다. (0은 1로, 1은 0으로 변경)
3) 1을 더함
ex) -5를 8비트 이진법으로 표현
1) 5의 이진 표현: 00000101
2) 모든 비트를 뒤집은 값: 11111010
3) 1을 더한 값: 11111011
3. 십육진법
개념
- 0~9와 A~F로 모든 수를 표현하는 방법
- 많이 사용됨
- 접두어 ox
- 코드에 직접 써넣기도 함
- 15(16) vs ox15
십육진법↔이진법 변환
ex) D5 → 11010101
(D를 이진법으로 변환 + 5를 이진법으로 변환 =11010101)
(1101을 십육진법으로 변환 + 5를 십육진법으로 변환 = D5)
4. 인코딩(encoding) / 디코딩(decoding)
용어
- 문자 집합(Character Set): 컴퓨터가 이해하고 표현할 수 있는 문자 모음
- 인코딩(encoding): 문자를 0과 1을 이루어진 문자 코드로 번역하는 과정
- 디코딩(encoding): 0과 1을 이루어진 문자 코드를 해석하여 문자로 번역하는 과
인코딩(encoding)
1) 아스키코드(ASCII)
- 초창기 문자 집합 중 하나
- 알파벳, 숫자, 특수문자, 제어문자
- 7비트(문자) + 1비트(페리티 문자(parity bit))
(+) 페리티 문자 : 데이터 오류를 검출하기 위해 사용되지만, 문자의 실제 의미나 값에는 직접적으로 영향을 주지 않음
- 최대 128개 문자 표현 가능(2의 7승)
→ 알파벳을 제외한 다른 문자, 다양한 특수문자 표현 불가
2) EUC-KR
- KS X 1001와 KS X 1003 기반의 한글 인코딩 방식
(+) KS X 1001: 한글 문자 집합 표준
(+) KS X 1003: 한글 정보 처리 표준
- 완성형 인코딩(초성, 중성, 종성을 한번에 인코딩)
- 글자 1개 ==2바이트==16비트==4자리 십육진수
- 2300여개 한글 표현 가능
→ 여전히 모든 한글 표현 불가
- 언어별로 인코딩을 해야 하는 단점
3) 유니코드
- 통일된 문자 집합 ex) UTF-8, UTF-16, UTF-32
- Unicode Transformation Format
- 한글을 포함한 다양한 언어, 화살표와 같은 특수 문자, 이모티콘
- 현대 문자 표현에 있어 매우 중요한 위치
- 가변 길이 인코딩: 1바이트 ~ 4바이트 → 유니코드에 부여된 값에 따라 인코딩 결과가 달라짐
ex) '가' (U+AC00): 3바이트 / 0xEA 0xB0 0x80
ex) 이모지 🌍 (U+1F30D): 4바이트 / 0xF0 0x9F 0x8C 0x8D
'공부(TIL) > 스터디' 카테고리의 다른 글
[컴퓨터 구조] CPU 속도 향상 조건 (2) | 2024.04.12 |
---|---|
[컴퓨터 구조] 인터럽트(interrupt) (0) | 2024.04.11 |
[컴퓨터구조] CPU의 내부구조 (0) | 2024.04.11 |
[컴퓨터 구조] 명령어 (0) | 2024.04.05 |
[컴퓨터 구조] 전반적인 흐름과 내용 (0) | 2024.04.04 |