02-1 / 0과 1로 숫자를 표현하는 방법
비트(bit) : 0과 1을 나타내는 가장 작은 정보 단위 (n비트는 2^n 가지 정보 표현 가능)
바이트(byte) : 여덟 개의 비트를 묶은 단위 (8비트, 즉 256개의 정보 표현 가능)
1000 byte = 1kB(kB : kilobyte)
1000 kB = 1MB(MB : megabyte)
1000 MB = 1 GB(GB : gigabyte)
1000 GB = 1 TB(TB : terabyte)
+ 워드(word) : CPU가 한 번에 처리할 수 있는 데이터 크기
- 하프 워드(half word) : 워드의 절반 크기
- 풀 워드(full word) : 1배 크기
- 더블 워드(double word) : 2배 크기
2진법, 16진법 표현은 거의 생략하고, 2진수의 음수 표현만 !!
-->> 2의 보수(two's complement)를 구해 이 값을 음수로 간주하는 방법
간단히 말하면, 2진수 모든 자릿수의 0과 1을 뒤집고, 1을 더하면 완성
컴퓨터 내부에서 어떤 수를 다룰 때는, 양/음수를 구분하기 위해 플래그(flag)를 사용
- 비트는 0과 1로 표현할 수 있는 가장 작은 정보 단위
- 바이트, 킬로바이트, 메가바이트, 기가바이트, 테라바이트는 비트보다 더 큰 정보 단위
- 이진법은 1을 넘어가는 시점에 자리 올림을 하여 0과 1만으로 수를 표현하는 방법
- 이진법에서 음수는 2의 보수로 표현할 수 있음
- 십육진법은 15를 넘어가는 시점에 자리 올림하여 수를 표현하는 방법
확인문제1 / 2000MB = 2GB
확인문제2 / 4번, 8bit는 1byte와 같습니다
확인문제3 / 0010, 0011, 0011
확인문제4 / 13, 10 -- > 1101, 1010 -- > 11011010(16)
확인문제5 / 4번
02-2 / 0과 1로 문자를 표현하는 방법
문자 집합(character set) : 컴퓨터가 인식하고 표현할 수 있는 문자의 모음
문자들을 컴퓨터가 이해할 수 있는 0/1로 변환하는 과정이 문자 인코딩,
반대로 0/1로 표현된 문자 코드를 사람이 읽을 수 있는 문자로 변환하는 과정이 문자 디코딩
아스키 코드
초창기 문자 집합 중 하나, 영어 알파벳과 아라비아 숫자, 그리고 일부 특수 문자 포함
아스키 문자들은 7비트로 표현됨 -> 표현할 수 있는 정보의 가짓수 = 128개의 문자 (8비트, 즉 1바이트를 사용하긴 하지만, 그 중 1비트는 패리티 비트라고 불리는 오류 검출용 비트로, 표현에 사용되는 건 7비트)
/ 아스키 코드는 간단히 인코딩 가능, but 한글, 아스키 집합 외의 문자 표현 불가..! (8비트의 확장 아스키가 등장하기도 했지만 부족했다)
EUC-KR
한글 인코딩
- 완성형(한글 완성형 인코딩)
- 초성, 중성, 종성의 조합으로 이루어진 하나의 글자에 고유한 코드 부여
- 조합형(한글 조합형 인코딩)
- 초성, 중성, 종성에 각각 비트열 할당하여 그 조합으로 코드 완성
EUC-KR 인코딩 : 대표적 완성형 인코딩 방식(한글 한 글자에 2바이트 코드가 부여됨. 즉 16비트, 4자리 십육진수로 표현된다)
2350개 정도 한글 단어 표현 가능, but 아직도 부족하다..!!
(마이크로소프트에서 CP949가 이후 등장하였으나 여전히 부족)
유니코드와 UTF-8
유니코드 : 여러 나라의 문자를 광범위하게 표현할 수 있는 통일된 문자 집합
-> 인코딩 방법에는 크게 UTF-8, UTF-16, UTF-32 등이 있음(유니코드 문자에 부여된 값을 인코딩하는 방식)
UTF-8
1바이트부터 4바이트까지 인코딩 결과를 만들어 냄 (가변 길이 인코딩)
유니코드 문자에 부여된 고유한 값(code point)의 범위가 어디에 속하냐에 따라!
마무리
- 문자 집합은 컴퓨터가 인식할 수 있는 문자의 모음, 문자를 인코딩하여 0/1로 표현할 수 있다
- 아스키 문자 집합에 0~127까지의 수가 할당, 아스키 코드로 인코딩 됨
- EUC-KR : 한글을 2바이트 크기로 인코딩할 수 있는 완성형 인코딩 방식
- 유니코드 : 여러 나라 문자들을 광범위하게 표현할 수 있는 통일된 문자 집합
확인문제1 / 104 111 110 103 111 110 103 -> hongong
확인문제2 / 2번. 완성형 인코딩 방식임
확인문제3 / 안 : 1100 0101 0100 1000 이고
녕 : 1011 0001 0101 0101 이므로,
11101100 10010101 10001000
11101011 10000101 10010101 이다.
'CS지식' 카테고리의 다른 글
[혼공학습단 10기 - 컴퓨터 구조 + 운영체제] 2주차 / Chapter 04-2. 레지스터 (0) | 2023.07.24 |
---|---|
[혼공학습단 10기 - 컴퓨터 구조 + 운영체제] 2주차 / Chapter 04-1. ALU와 제어장치 (0) | 2023.07.23 |
[혼공학습단 10기 - 컴퓨터 구조 + 운영체제] 1주차 / Chapter 03. 명령어 (0) | 2023.07.09 |
[혼공학습단 10기 - 컴퓨터 구조 + 운영체제] 1주차 / Chapter 01. 컴퓨터 구조 시작하기 (0) | 2023.07.01 |