비트
컴퓨터에서 데이터 처리와 메모리 구성의 기본단위는 8비트로 이는 하나의 단위로 취급된다.
바이트
비트 여덟 개의 모음
베르너 부흐홀츠가 1956년 만든 단어
단일 바이트는 256개의 구별되는 값을 인코딩 할 수 있다.
(2⁸, 0과 1 여덟개로 이루어진 조합)
인코딩된 값은 0과 255사이의 정수이거나, 7비트 아스키코드 문자 집합( [a] 1비트는 다른 용도로 남겨 둔다) 중 하나의 문자이거나, 뭔가 다른 것일 수 있다.
바이트 2개는 16비트이며, 0에서 (2¹⁶-1)까지, 즉 65,535까지의 값을 나타낼 수 있다.
바이트 4개는 32비트로, 아스키코드 문자 네 개, 유니코드 문자 두 개, 또는 (2³²-1) 약 43억 개 정도까지의 수를 나타낼 수 있다.
기호로 나타낼 때는 비트는 'b' 바이트는 'B'로 표현한다.
위처럼 4GB 메모리는 총 4기가(40억개)의 바이트를 가지고 있다.
32기가의 비트를 가지고 있다고도 볼 수 있다.
RAM등의 메모리에는 보통 바이트 단위를 많이 사용한다.
통신속도에는 비트 단위를 많이 사용한다.
인터넷 속도 측정 결과이다. 다운로드 속도가 440Mbps라는 건, 초당 440메가의 비트를 전송할 수 있다는 뜻이다. 바이트로 환산하면 초당 55MB이다.
아스키코드
아스키 코드는 1963년 미국 ANSI에서 표준화한 정보교환용 7비트 부호체계이다. 인쇄전신기(Teleprinter)를 통한 전신(통신)에서 사용되기 시작했고, 8비트 컴퓨터에서도 활용되어 오늘날 문자 인코딩의 근간을 이루게 된다.
000(0x00)부터 127(0x7F)까지 총 128개의 부호가 사용된다. [a] 1바이트를 구성하는 8비트 중에서 7비트만 쓰도록 제정된 이유는, 나머지 1비트를 통신 에러 검출을 위한 용도로 비워두었기 때문이다. Parity Bit라고 해서, 7개의 비트 중 1의 개수가 홀수면 1, 짝수면 0으로 하는 식의 패리티 비트를 붙여서, 전송 도중 신호가 변질된 것을 수신측에서 검출해낼 수 있도록 하였다.
영문 키보드로 입력할 수 있는 모든 기호들이 할당되어 있는 가장 기본적인 부호 체계이다. 매우 단순하고 간단하기 때문에 어느 시스템에서도 적용가능하다는 장점이 있다.
8비트 컴퓨터에서는 아스키 코드에 1비트를 더해 더 많은 문자를 표현할 수 있는 여지가 생겼고, 아스키 코드에 없는 문자를 추가해 "코드페이지"를 제정하였다. IBM PC에서는 "Codepage 437"(라틴어, 음성기호, 수학기호, 괘선, 특수문자 등 추가)을 사용했고, 확장된 아스키 코드의 사실상 표준이 되었다. 이외 각 국의 언어에 따라 다양한 코드페이지가 존재하는데, 대부분 아스키 코드에 기반하여(가급적 훼손하지 않고) 제작된다.
한글 인코딩은 2바이트 이상을 써야 가능했기 때문에 아스키 코드를 건드릴 수 밖에 없었고, 초창기에는 글자 깨짐 문제가 종종 발생하였다. 코드페이지(CP949 등)를 맞춰주지 못하면 역시 글자 깨짐이 발생했고, 해외게임을 할 때 특히 그러했다.
아스키 코드는 각 나라의 다양한 언어를 표현하는데는 한계가 있어서 이러한 문제를 해결하기 위해 더 개발 된 코드가 바로 유니코드이다.
유니코드
유니코드는 각 나라별 언어를 모두 표현하기 위한 코드 체계이다. 사용 중인 운영체제, 프로그램, 언어와 상관없이 문자마다 고유한 코드 값을 제공하는 새로운 개념의 코드이다.
모든 문자를 16비트(2바이트)로 표현하기 때문에 최대 65,536자를 표현할 수 있다.
한글의 경우 AC00부터 D7A3까지 초성 19, 중성 21, 종성 28개를 곱해 11172자를 표현할 수 있다.
2진수와 16진수
비트 별로 다른 정보를 인코딩한다면, 이진 표기 방식이 더 필요하지만, 십진수 형태보다 세 배 이상 길어서 너무 많은 공간을 차지하므로
십육진수라는 대안 표기법을 일반적으로 사용한다.
2진수와 16진수를 표현한 표
대표적인 예로 색상을 표현하는 것이 있다.
RGB 색상
색상을 표현하는 가장 일반적인 방법은 각 픽셀에 3바이트를 사용하는 것으로, 각 바이트는 적색의 양, 녹색의 양, 청색의 양을 표현하는데 쓰인다.
각 색상 성분이 단일 바이트에 저장되므로 각 각의 색을 256개 표현할 수 있다. (2⁸ 2⁸ 2⁸)
약 1천6백만이 되는데 컴퓨터 디스플레이 장치를 광고하는데 이 숫자가 사용되는 경우가 있다. *실제 값은 16,777,216
16진수로 표현한 색상
요약
컴퓨터는 왜 십진수 대신 이진수를 사용할까?
물리적인 장치를 만들 때 켜짐과 꺼짐이라는 두 가지 상태만 갖도록 하는 것이 열 가지 상태를 갖도록 하는 것보다 훨씬 쉽기 때문이다.