정보 단위 0과 1을 나타내는 가장 작은 정보 단위를 비트라고 합니다. n비트는 2의 n승 가지 정보를 표현할 수 있습니다. 바이트는 여덟 개의 비트를 묶은 단위로, 비트보다 한 단계 큰 단위입니다. 1바이트는 8비트와 같으니 2의 8승 (256)개의 정보를 표현할 수 있겠죠. 1바이트 1000개를 묶은 단위를 1킬로바이트라고 합니다. 1킬로바이트 1000를 묶은 단위를 1메가바이트, 1메가바이트 1000개를 묶은 단위를 1기가바이트, 1기가바이트 1000개를 묶은 단위를 1테라바이트라고 합니다.
- 워드 : 워드란 CPU가 한 번에 처리할 수 있는 데이터 크기를 의미합니다. 한 번에 16비트를 처리할 수 있다면 1워드가 16비트, 32비트면 1워드가 32비트가 됩니다. 절반 크기를 하프 워드, 1배 크기를 풀 워드, 2배 크기를 더블 워드라고 합니다.
이진법 수학에서 0과 1만으로 모든 숫자를 표현하는 방법을 이진법(binary)이라고 합니다. 우리는 일상적으로 십진법(decimal)을 사용합니다. 이진법을 표현한 수를 이진수, 십진법으로 표현한 수를 십진수라고 합니다.
이진수의 음수표현 : 2의 보수를 구해 이 값을 음수로 간주하는 방법입니다. → 모든 0과 1을 뒤집고 거기에 1을 더한 값으로 이해하면 됩니다. 실제로 이진수만 봐서는 이게 음수인지 양수인지 구분하기 어렵습니다. 그래서 컴퓨터 내부에서 어떤 수를 다룰 때는 이 수가 양수인지 음수인지를 구분하기 위해 플래그를 사용합니다.
십육진법 이진법을 이용해 0과 1만으로 모든 숫자를 표현할 수 있었습니다. 하지만 이진법은 0과 1만으로 모든 숫자를 표현하다 보니 숫자의 길이가 너무 길어진다는 단점이 있습니다. 그래서 데이터를 표현할 때 이진법 이외에 십육진법도 자주 사용합니다. 십육진법(hexadecimal)은 수가 15를 넘어가는 시점에 자리 올림을 하는 숫자 표현 방식입니다. 그리고 십진수 10,11,12,13,14,15를 십육진법 체계에서는 각각 A,B,C,D,E,F로 표기합니다.
십육진법을 사용하는 주된 이유는 이진수를 십육진수로 변환하기 쉽기 때문이다. 2 → 16 십육진수를 이루고 있는 각 글자를 따로따로 이진수로 변환하고, 그것들을 그대로 이어 붙이면 십육진수가 이진수로 변환됩니다. 16 → 2 이진수 숫자를 네 개씩 끊고, 끊어 준 네 개의 숫자를 하나의 십육진수로 변환한 뒤 그대로 이어 붙이면 됩니다.
문자집합과 인코딩 컴퓨터가 인식하고 표현할 수 있는 문자의 모음을 문자 집합이라고 합니다. 컴퓨터는 문자 집합에 속해있는 문자를 이해할 수 있고, 반대로 속해 있지 않은 문자는 이해할 수 없습니다. 문자를 0과 1로 변환해야 비로소 컴퓨터가 이해할 수 있습니다. 이 변환 과정을 문자 인코딩이라 하고 코딩 후 0과 1로 이루어진 결과값이 문자 코드가 됩니다. 인코딩의 반대 과정, 즉 0과 1로 이루어진 문자 코드를 사람이 이해할 수 있는 문자로 변환하는 과정은 문자 디코딩이라고 합니다.
아스키 코드 아스키는 초창기 문자 집합 중 하나로, 영어 알파벳과 아라비아 숫자, 그리고 일부 특수 문자를 포함합니다. 아스키 문자 집합에 속한 문자들은 각각 7비트로 표현되는데, 7비트로 표현할 수 있는 정보의 가짓수는 2의 7승개로 총 128개의 문자를 표현할 수 있습니다. 아스키 문자에 대응된 고유한 수를 아스키 코드라고 합니다.
EUC-KR (한글 인코딩 방식) 완성형 인코딩 방식은 초성, 중성, 종성의 조합으로 이루어진 완성된 하나의 글자에 고유한 코드를 부여하는 인코딩 방식입니다. 조합형 인코딩 방식은 초성을 위한 비트열, 중성을 위한 비트열, 종성을 위한 비트열을 할당하여 그것들의 조합으로 하나의 글자 코드를 완성하는 인코딩 방식입니다. EUC-KR은 완성형 인코딩 방식입니다. 한글 단어에 2바이트크기의 코드를 부여합니다. 인코딩된 한글은 네 자리 십육진수로 나타낼 수 있습니다. CP949는 EUC-KR의 확장된 버전으로, 표현이 불가능했던 다양한 문자를 표현할 수 있습니다. 다만 넉넉한 양은 아닙니다.
유니코드와 UTF-8 유니코드는 EUC-KR보다 훨씬 다양한 한글을 포함하며 대부분 나라의 문자, 특수문자, 화살표나 이모티콘까지도 코드로 표현할 수 있는 통일된 문자 집합입니다.
출처 : 혼자 공부하는 컴퓨터구조 + 운영체제
'공부 > 컴퓨터' 카테고리의 다른 글
메모리와 캐시 메모리 (0) | 2023.02.12 |
---|---|
CPU 성능 향상 기법 (0) | 2023.02.03 |
CPU의 작동 원리 (0) | 2023.01.22 |
명령어 (0) | 2023.01.08 |
컴퓨터 구조 시작하기 (0) | 2023.01.01 |