일상 생활에서 사용되는 문자나 숫자 를 컴퓨터가 인식하기 위해 기호 화한 것
컴퓨터에서 내부적으로 계산을 위해 사용하는 것 (number의 의미)은 이진수 와 2's complement 이다. 하지만, 컴퓨터가 인간이 사용하는 number를 표현하고 인식하기 위한 경우 사용되는 code들은 다음과 같음.
이중 External Representation 코드들은 다음과 같다.
10진수에서 각 자리의 digit을 각각 16진수로 변경 하고 각각의 16진수를 4bit의 binary로 변환하여 표현한 것.
컴퓨터의 계산 결과를 인간에게 출력할 때는 10진수로 보여줘야 하며, 이 경우 활용되는 code임.
8-4-2-1 코드라고도 불림.
10진법에서 2진법으로 변환을 가장 쉽게 할 수 있음
bit의 낭비가 크다. 10진수의 1자리를 표현하는데, 16개를 구분가능한 4bit를 할당 하고 있어서 나머지 6종류를 구분할 수 있는 능력 이 허비되는 방식.
보수를 구하기 어렵다
10진수에서 BCD코드로의 변환 표
10진수(decimal)을 4bit로 표현하는 BCD code를 확장하여 8비트로 표현한다.
문자 기호에 대한 코드를 추가 등을 위해 8bit로 확장을 시킨 것으로 상위 4비트가 Zone을 나타내고, 하위 4비트는 앞서 본 BCD 이다.
일반적으로 Zone은 1111로 표현되며, sign (부호)는 가장 하위자리의 Zone으로 표현되고 + sign은 1100으로 - sign은 1101로 표현된다.
EBCDIC는 문자 기호들에 대한 코드들도 포함시켰기 때문에 한 기호당 8비트를 차지하도록 확장되어 숫자만 사용하는 경우에는 낭비가 심하다.
Packed 10진수 방식 과 같이 문자기호를 위해 확장된 zone을 제거하고 BCD 만을 사용하는 경우도 있다. (단, sign에 해당하는 4bit는 맨 하위로 보내짐)
BCD 코드는 2진수 표현에 가깝고 encoding에 용이하나, complement(보수)에 대한 계산 및 처리가 까다롭다는 단점 때문에 이를 보완하기 위해 BCD 코드에 +3을 한 것이 Excess-3 Code 이다.
자기보수성질을 가지고 있기 때문에 1's complement를 취하면 자동으로 9의 보수를 얻게 됨.

