[Circuits]디지털 코드
📚10진 코드
컴퓨터 내부에 10개의 숫자를 2진 코드로 만들어 활용하는 방법입니다.
출처: https://issac-rok.tistory.com/6
📄BCD 8421 코드
BCD 8421 코드는 2진화 10진 코드의 형식으로 10진수 한 자리를 2진수 4비트로 표시한 것 입니다. 비트 위치에 따라 8, 4, 2, 1의 가중치가 할당됩니다. BCD 코드라고도 부릅니다.
📄BCD 2421 코드
BCD 2421 코드는 10진수를 각 자릿수마다 4비트로 구성하여 표현하는데 2, 4, 2, 1의 가중치가 할당되는 가중치 코드입니다.
BCD 2421 코드는 10진수에 대한 9의 보수를 코드에서 0은 1로, 1은 0으로 바꿔서 쉽게 구할 수 있습니다. 이런 특성의 코드를 자보수 코드라고합니다.
📄BCD 84-2-1 코드
BCD 84-2-1 코드는 각 자릿수마다 4비트로 구성하여 표현하는데 8, 4, -2, -1의 가중치가 할당됩니다. 또한 10진수에 대한 9의 보수를 코드에서 0은 1로, 1은 0으로 바꿔서 쉽게 구할 수 있는 자보수입니다.
📄3초과 코드
3초과 코드는 비트의 위치에 따라 각 비트에 가중치를 할당하지 않은 비가중치 코드입니다. BCD 8421 코드에 10진수 3에 해당하는 2진수 0011을 각각 더해서 만듭니다. 3초과 코드 역시 10진수에 대한 9의 보수를 코드에서 0은 1로, 1은 0으로 바꿔서 쉽게 구할 수 있는 자보수입니다.
📄그레이 코드
그레이 코드는 비가중치 코드입니다. 한 숫자에서 다음 숫자로 이동될 때 오직 한 비트만 변하는 특징이 있습니다. 산술연산에는 적합하지 않으며 입출력 장치, A/D 변환기 등에 많이 쓰입니다.
📚영숫자 코드
영문자와 숫자를 2진 코드로 표현한 것을 영수자 코드라고 합니다. 영숫자 코드는 10진 숫자 10개, 영문자 26개, 특수 문자 및 기호까지 포함하면 최소 36개 이상의 원소로 구성됩니다. 총 36개의 영문자와 숫자는 비트 6개로 표현할 수 있지만 특수문자 및 기호가 추가되면 최소 7개 이상의 비트가 필요합니다.
📄ASCII 코드
ASCII코드는 영수자 코드가 7비트로 구성되어 있습니다.
- 10진 숫자: 0 ~ 9 10개
- 영문자: 대문자(A ~ Z), 소문자(a ~ z) 26개
- 기호문자: !, “”, $, % 등 33개
- 제어문자: NUL, SOH, STX 등 33개
ASCII 코드는 7비트로 구성되어 있지만 실제 사용할 때 1비트로 구성된 패리티 비트를 포함시켜 8비트로 전송합니다. 대부분의 컴퓨터는 기본단위로 바이트(8비트)를 사용하기 때문에 패리티 비트를 포함한 ASCII 코드를 사용하는 것이 효율적입니다.
출처: https://en.wikipedia.org/wiki/ASCII
📄EBCDIC 코드
EBCDIC 코드는 IBM의 대형 장비에서 많이 사용되는 코드입니다. 하나의 영숫자가 8비트로 구성되어 있습니다.
EBCDIC 코드는 8비트이기 때문에 에러 검출을 위한 패리티 비트를 추가하면 9비트가 됩니다. 따라서 ASCII 코드에 비해 데이터 전송 시 비효율적일 수 있습니다.
📄유니코드
유니코드는 플랫폼, 프로그램, 언어에 상관없이 문자마다 고유한 숫자를 부여하는 방법을 제공하는 문자 인코딩 표준입니다. 유니코드는 ASCII 코드의 한계점을 극복하고 전세계 문자를 표현하는 총체적인 문자 코드 체계입니다.
유니코드에서 지원하는 인코딩 방식은 UTF-8, UTF-16, UTF-32 세 가지가 있습니다. UTF는 UCS Transformation Format의 약자이고 뒤에 붙은 숫자는 인코딩에 사용되는 비트 수입니다. UTF-8은 4개 바이트, UTF-16은 2개의 16비트, UTF-32는 1개의 32비트 단위로 표현합니다. 세 가지 인코딩 방식은 모두 문자를 표현하는데 4바이트를 사용합니다.
📄기타 영숫자 코드
5비트, 6비트 내부 코드, 천공카드 코드 등이 사용되고 있습니다.
-
5비트 코드: 5비트로 구성되는 보도 코드는 전신타자 전송에 사용되었던 것으로 문자 모드와 동형 모드, 두 가지 동작 모드를 이용합니다.
-
6비트 코드: 대문자 26개, 숫자 10개, 특수문자 28개를 포함하여 문자들을 나타냅니다.
-
천공카드 코드: 12비트로 구성되는 홀러리스 코드가 대표적입니다. 천공카드는 12행과 80열로 구성되고, 각 열의 적절한 행이 천공된 부분은 1로 감지되며 천공되지 않은 부분은 0으로 감지됩니다.
💡패리티 비트
패리티 비트는 데이터 전송 과정에서 에러 검사를 위한 추가 비트입니다. 패리티는 에러 검출만 가능하고, 여러 비트에 에러가 발생할 경우 검출이 안될 수 있습니다. 또한 패리티 비트는 오류 발생 여부만 알 수 있지 오류를 수정할 수는 없습니다.
- 짝수 패리티: 전체 비트에서 1의 개수가 짝수가 되도록 패리티 비트를 정하는 방법
- 홀수 패리티: 전체 비트에서 1의 개수가 홀수가 되도록 패리티 비트를 정하는 방법
Leave a comment