|
0000 0001 0010 0011 0100 0101 0110 0111 |
1000 1001 1010 1011 1100 1101 1110 1111 |
비트가 하나 증가할 때마다 문자의 수는 두배로 증가한다.
2비트 -- 4가지 조합; 2×2 가지
3비트 -- 8가지 조합; 2×2×2 가지
4비트 -- 16가지 조합; 2×2×2×2 가지
5비트 -- 32가지 조합; 2×2×2×2×2 가지
6비트 -- 64가지 조합; 2×2×2×2×2×2 가지
7비트 -- 128가지 조합 ; 2×2×2×2×2×2×2 가지
각 바이너리의 조합을 하나의 문자로 일대일로 짝지을 수 있다면(즉, 일대일 대응),
7비트로는 모두 128개의 문자를 지정할 수 있다.
바이너리로 영문을 표현하는 경우를 생각해 보자.
영어 문자를 이루는 영문 알파벳, 숫자, 문장부호 등을 모두 표현하려면 몇 비트가 필요할까?
문자와 비트들의 조합의 일대일 대응을 코드(문자 코드, character code)라 하는데
현재 많은 종류의 코드가 사용되고 있다.
그 중 아스키(ASCII,American Standard Code for Information Interchange,1963년) 코드는
영문을 표현하기 위한 코드로 현재의 컴퓨터에서 기본적으로 많이 사용되고 있다.
한 문자를 표현하기 위하여 7비트를 사용하는 아스키 코드는
모두 128개의 문자를 표현할 수 있다.
(128자로 일상에서 쓰는 문자를 표현할 수 있다)
아래의 표는 아스키 코드의 일부를 보여준다.
<아스키(ASCII) 코드의 일부분>
문자 | 아스키 코드 | 문자 | 아스키 코드 | 문자 | 아스키 코드 | 문자 | 아스키 코드 |
A | 1000001 | B | 1000010 | C | 1000011 | D | 1000100 |
E | 1000101 | F | 1000110 | G | 1000111 | H | 1001000 |
I | 1001001 | J | 1001010 | K | 1001011 | L | 1001100 |
M | 1001101 | N | 1001110 | O | 1001111 | P | 1010000 |
Q | 1010001 | R | 1010010 | S | 1010011 | T | 1010100 |
U | 1010101 | V | 1010110 | W | 1010111 | X | 1011000 |
Y | 1011001 | Z | 1011010 | 0 | 0110000 | 1 | 0110001 |
2 | 0110010 | 3 | 0110011 | 4 | 0110100 | 5 | 0110101 |
6 | 0110110 | 7 | 0110111 | 8 | 0111000 | 9 | 0111001 |
공백 | 0100000 | . | 0101110 | ( | 0101000 | + | 0101011 |
……… | ……… | ……… | ……… | ……… | ……… | ……… | ……… |
[Q] 아래의 아스키 코드는 무슨 글자일까?
1001011 | 1001111 | 1010010 | 1000101 | 1000001 |
아스키 코드는 글자 한자를 표현하기 위해 일곱 비트를 사용한다.
여기에 통신비트를 하나 추가하여 문자 한 자를 표현하기 위하여 8비트를 사용한다.
통신비트는 통신할 때 생길 수 있는 오류를 검출/정정하기 위한 비트이다.
영어 문자 한 자를 표현하는데 필요한 8비트를 바이트(byte)라 한다.
컴퓨터의 메모리는 바이트 단위로 읽고 저장한다.
이러한 이유로 메모리 또는 저장장치의 용량을 바이트 단위로 표현한다.
예를 들면, 1KB(Kilo Byte)는 영문자 1000자를 저장하는 공간이다.
1MB(Mega Byte)는 영문자 1백만자를 저장하는 공간이다.
1GB(Giga Byte)는 영문자 십억자를 저장하는 공간이다.
1TB(Tera Byte)는 영문자 1조자를 저장하는 공간이다.
(참고; Peta, Exa, Zeta, Yota)
이런식으로 컴퓨터 내부에서는 바이너리의 조합으로 영문자, 숫자, 기호를 표현하고 있다.
영문처럼 한글도 한글의 코딩 규칙에 의해 한글을 컴퓨터 안에서 표현한다.
【연습문제】ASCII 코드로 HOPE를 표현하자.
|
|
|
|
【연습문제】ASCII 코드는 영문자를 표현하는 코드인데,
통신비트 한 비트를 포함하여 한 글자를 표현하기 위해 몇 비트를 사용하는가?
【연습문제】100만 바이트는 몇 비트일까?
//