본문 바로가기

자동제어(PLC,PC,로봇) & 전장설계 & CNC/PC 제어

PC제어프로그램 3일차 - 문자 자료의 표현 외(20.05.07)

반응형

문자 자료의 표현

컴퓨터에 자료를 입력하거나 출력할 때는 모두 문자로 취급하여 처리

문자 자료

  영문자의 대 소문자, 한글, 특수기호, 숫자 등

  코드 : 문자 자료의 표현 규칙

문자 코드

  ◆ 일반적으로 문자코드는 6~8비트로 구성된다.

왼쪽 2~4개 비트 : 문자의 성격을 나타내는 존 비트(zone bit)로 사용

오른쪽 4개의 비트 : 문자를 구분하는 디지트 비트(digit bit)로 사용

8비트 경우 : OOOOOOOO

왼쪽은 ZONE BIT

오른쪽은 DIGIT BIT (항상4BIT)

 


BCD코드

 

BCD코드 (Binary Coded Decimal) 8421코드

 BCD코드는 숫자를 표현하기 위해 사용하던 4비트 코드를 확장한 코드

2개의 존비트(zone bit)와 4개의 디짓비트(digit bit)로 구성

6개의 비트로 64가지(2^6) 문자를 표현

 

1 BIT 2가지 표현 0,1
2 BIT 4가지 표현 00, 01, 10, 11
3 BIT 8가지 표현 000, 001, ~~~, 111
... ... ...
n BIT 2^n가지 표현 0 ~~~ 2^n - 1

문제 유형은

n bit일때 몇 가지의 신호가 나오냐? 2^n

n bit일때 가장 큰 수는? 2^n - 1

 


10진수 2364를 BCD코드로 나타내면

10진수 1자리를 2진수 4자리로 나타낸다.

0010 0011 0110 0100 (BCD)

 

16진수 1F를 BCD코드로 나타내면

1x16^1 + 15 x 16^0 = 16+15 = 31 (10)

16진수를 10진수로 고친다. 바로 고쳐본다. 2진수로도 변경할 수 있다.

0011 0001 (BCD)

 

 


EBCDIC 코드

EBCDIC (Extended Binary Coded Decimal Interchange Coded) 코드

BCD코드(6비트)를 8비트로 확장한 코드

1개의 패리티체크 비트와 8개의 데이터비트(4개의 존비트와 4개의 디짓비트)로 구성

8개의 비트로 256가지(2^8) 문자를 표현

 


ASCII 코드

ASCII (American Standard Coded For Information Interchange) 코드

미국표준협회가 제정한 데이터 처리 및 통신 시스템 상호간의 정보 교환용 표준코드

1개의 패리티 체크 비트와 7개의 데이터 비트(3개의 존비트와 4개의 디짓비트)로 구성

7개의 비트로 128가지(2^7) 문자를 표현

 

패리티 비트

CPU에서 데이터를 송신한다 (7비트)

101 0110 (원본데이터)

----->

101 0010 (이 데이터로 잘못된 연산을 하고 액추에이터를 잘 못 구동하게 된다)

 

이러한 에러 데이터를 처리해보자. 에러를 확인하는 방법을 고안했다.

보낼때 1의 갯수를 세어서 홀수이면 체크비트에 1

짝수이면 체크비트에 0을 보낸다.

 

0 101 0110 (원본데이터)

----->

0 101 0010 (1의 숫자는 홀수이므로 에러 발생)

 

패리티 비트는 오류를 검출하기만 하고 수정은 못한다.

패리티 비트 목적은 '에러 검출'

 

 

만약 2개가 동시에 틀리면 에러검출은?

2개가 동시에 틀리는 경우는 거의 없다.