computer science/computer architecture
[오늘 CS] 컴퓨터 구조 - 0과 1로 숫자/문자를 표현하는 방법
nani-jin
2024. 3. 27. 12:40
컴퓨터는 0과 1로 모든 정보를 표현하고, 0과 1로 표현된 정보만을 이해할 수 있다
앞서 컴퓨터 구조는 컴퓨터가 이해할 수 있는 정보와 컴퓨터의 4가지 핵심 부품으로 이루어진 것을 살펴보았다. 컴퓨터가 이해할 수 있는 정보에는 데이터와 명령어가 있었고, 이는 0과 1로 표현되어야 컴퓨터가 이해할 수 있다.
그렇다면 숫자와 문자를 어떻게 0과 1로 표현할 수 있을까?
비트와 바이트
- 우리는 비트를 활용해 숫자와 문자를 표현할 수 있다
- 1비트로 정보를 표현하는 방법은 2가지로, 존재한다를 1로 표현한다면 존재하지 않는다를 0으로 표현할 수 있다
- 1비트 = 2가지, 2비트 = 4가지, 3비트 = 8가지 ..., 8비트(1바이트) = 256가지를 표현할 수 있다
0과 1로 숫자를 표현하는 방법
- 이진법
- 1을 넘어가는 시점에 자리 올림을 하여 0과 1만으로 모든 수를 표현하는 방법이다
- 음수는 2의 보수를 통해 표현하며, 플래그를 붙여 표시한다
- 십육진법
- 15를 넘어가는 시점에 자리 올림을 하는 숫자 표현하는 방법이다
- 십육진법을 사용하는 이유는, 십육진법 ↔︎ 이진법 변환이 용이하기 때문이다
0과 1로 문자를 표현하는 방법
- 문자 집합
- 컴퓨터가 인식하고 표현할 수 있는 문자의 모음
- 이 문자 집합에 포함된 문자를 이해할 수 잇으나, 컴퓨터는 이를 그대로 이해하는 것이 아닌 0과 1로 변환해 이해한다
- 문자 인코딩
- 문자 집합에 포함된 문자를 0과 1로 변환하는 과정을 문자 인코딩이라 한다
- 0과 1을 사람이 이해할 수 있는 문자로 변환하는 것을 문자 디코딩이라 한다
- 문자 인코딩 기법
- 아스키 코드(Ascii code)
- 영어 알파벳과 아라비아 숫자, 그리도 일부 특수 문자를 포함한다
- 영어 알파벳과 아라비아 숫자, 그리도 일부 특수 문자를 포함한다
- EUC-KR
- 아스키는 7비트로 표현하기 때문에, 한글을 표현하기엔 턱없이 부족하다. 그래서 등장한 한글 인코딩 방식이지만 모든 한글 표현은 불가하다
- 아스키는 7비트로 표현하기 때문에, 한글을 표현하기엔 턱없이 부족하다. 그래서 등장한 한글 인코딩 방식이지만 모든 한글 표현은 불가하다
- CP949
- EUC-KR보다 한글 표현이 확장되었으나 그럼에도 모든 한글 표현은 불가하다
- EUC-KR보다 한글 표현이 확장되었으나 그럼에도 모든 한글 표현은 불가하다
- 유니코드(Unicode)
- 모든 언어를 아우르는 문자 집합과 통일된 표준 인코딩 방식으로, 언어별로 인코딩하는 수고로움을 덜 수 있는 것이 가장 큰 장점이다
- 각 문자마다 고유한 값이 부여되며, 아스키나 EUC-KR과 다르게 글자에 부여된 값 자체를 인코딩된 값으로 삼지 않고 다양한 방법으로 인코딩한다. UTF-8, UTF-16, UTF-32 ...
- 아스키 코드(Ascii code)
[출처] 혼자 공부하는 컴퓨터 구조 + 운영체제