ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [전산기초] 자료의 표현
    비전공자 공부일기/:: Computer Science 2021. 7. 12. 23:03

    자료 구성의 단위

    자료의 구성 단위는 컴퓨터 내부에서 사용하는 물리적 단위인 비트, 바이트, 워드와 사람이 인식하여 사용할 수 있는 논리적 단위인 필드, 레코드, 파일, 데이터베이스가 있다.

     

    1. 자료 구성의 단위

    비트(Bit, Binary Digit) - 자료(정보) 표현의 최소단위
    - 두 가지 상태(0, 1)를 표시하는 2진수 1자리
    - 즉, 1 bit가 늘어날 수록 x2씩 표현 가능
    니블(Nibble) - 4 Bit = 1 Nibble
    - 16진수 1자리를 표현하기에 적합
    바이트(Byte) - 8 Bit = 1 Byte
    - 문자를 표현하는 최소 단위
    - 1 Byte는 256(=2^8)가지의 정보를 표현할 수 있다.
    - 주소 지정의 단위로 사용
    - 일반적으로 영문자나 숫자는 한 글자당 1Byte, 한글, 한자는 한 글자당 2Byte
    워드(Word) - CPU가 한 번에 처리할 수 있는 명령 단위
    - 반워드(Half Word) : 2Byte
    - 전워드(Full Word) : 4Byte
    - 더블워드(Double Word) : 8Byte
    필드(Field) - 파일 구성의 최소 단위
    - 의미 있는 정보를 표현하는 최소 단위
    - 다른 말로  Item(=항목)이라고도 함
    레코드(Record) - 하나 이상의 관련된 필드가 모여서 구성
    - 컴퓨터 내부의 자료 처리 단위로서 일반적으로 레코드는 논리 레코드(Logical Record)를 의미
    블록(Block) - 하나 이상의 논리 레코드가 모여서 구성
    - 각종 저장매체와의 입출력 단위이며, 물리 레코드(Physical Record)라고 함
    파일(File) - 프로그램 구성의 기본 단위로, 여러 레코드가 모여서 구성
    데이터베이스(Database) - 여러 개의 관련된 파일(File)의 집합
    - 관계형, 계층형, 망형 데이터베이스가 있다.

     

     

    자료의 내부적 표현

    컴퓨터 내부에서 연산을 하거나 데이터를 처리할 때 사용하는 것이다. 즉 컴퓨터가 하는 연산.

     

    1. 10진 연산

    언팩(Unpack) 연산
    (= 존 10진 형식)
    - 1byte로 10진수 1자리를 표현
    - 4개의 존(Zone) 비트와 4개의 숫자(Digit) 비트를 사용
    - 최하위 바이트의 존 부분을 부호로 사용하며,
      양수는 C(1100), 음수는 D(1101), 부호 없는 양수는 F(1111)로 표현
    - 연산이 불가능하며 데이터의 입출력에 사용
    팩(Pack) 연산
    (= 팩 10진 형식)
    - 1byte로 10진수 2자리를 표현
    - 최하위 바이트의 4비트를 부호로 사용하며,
      양수는 C(1100), 음수는 D(1101), 부호 없는 양수는 F(1111)로 표현
    - 연산이 가능

     

    2. 2진 연산

    - 2진 정수 데이터의 표현에 사용

    - 표현할 수 있는 범위가 작지만 연산 속도가 빠름

    - 데이터 표현 시 첫 번째 비트를 부호 비트로 하여 양수는 0, 음수는 1로 표시

     

    음수 표현 방식

    부호화 절대치 방식 - 부호 비트와 그 크기를 나타내는 절대값으로 표현
    - 표현범위: -(2^n-1 -1) ~ 2^n-1 - 1
    부호화 1의 보수 방식 - 부호 비트를 제외한 나머지 비트에 대해 0은 1로, 1은 0으로 변경하여 표현
    - 표현범위: -(2^n-1 -1) ~ 2^n-1 - 1
    부호화 2의 보수 방식 - 1의 보수로 변환한 후 1을 더해서 표현
    - 표현범위: -2^n-1 ~ 2^n-1 - 1

     

    3. 부동 소수점 연산

    - 실수 데이터 표현과 연산에 사용

    - 숫자를 부호(1비트), 지수부(7비트), 가수부(소수부)로 나누어 표현

    - 표현 비트에 따라 단정도(4byte), 배정도(8byte) 실수형이 있다.

    - 고정 소수점 연산에 비해 실행 시간이 많이 걸리나 매우 큰 수나 매우 작은 수를 표현하는 데 적합

    - 표현 범위 +- 16^-64 ~ +-16^63

     

     

     

    자료의 외부적 표현

    처리된 결과를 사람이 확인할 수 있도록 출력 문자를 표현하는 방식

     

    1. BCD(Binary Coded Decimal, 2진화10진코드)

    - 6bit 코드로 IBM 사에서 개발함

    - 1개의 문자를 2개의 Zone 비트와 4개의 Digit 비트로 표현

    - 2^6 = 64 가지의 문자를 표현

    - 영문 소문자를 표현하지 못함

    - '이진화십진코드'라고 말하기도 함

     

    * 패리티 비트: 뒤에 오는 비트들이 오염되었는지 확인하기 위한 비트. 뒤에 오는 비트의 합을 표현

     

    2. ASCII 코드 (American Standard Code for Information Interchange)

    - 미국 표준협회에서 개발한 7bit 코드

    - 1개의 문자를 3개의 Zone 비트와 4개의 digit 비트로 표현

    - 2^7 = 128 가지의 문자를 표현 가능

    - 통신 제어용 및 마이크로컴퓨터의 기본 코드로 사용

     

    3. EBCDIC (Extended BCD Interchange Code, 확장 2진화10진코드)

    - IBM사에서 개발한 8bit 코드

    - 1개의 문자 = 4 zone bit + 4 digit bit

    - 2^8 = 256 가지의 문자를 표현 가능

    - 대형 기종의 컴퓨터에서 사용

     

     

    기타 자료의 표현 방식

    1. BCD 코드

    - 10진수 1자리의 수를 2진수 4bit으로 표현

    - 4bit의 2진수 각 bit가 2^3, 2^2, 2^1, 2^0, 즉 8, 4, 2, 1의 자리값을 가지므로 8421코드라고도 함

    - 대표적인 가중치 코드

    - 문자 코드인 BCD에서 Zone 부분을 생략한 형태

    - 10진수의 입출력이 간편   but 계산이 느리고 메모리를 많이 잡아먹어 잘 안쓰는 코드

     

    * 가중치 코드/비가중치 코드

    가중치 코드란, 2진수 각 자리가 고유한 값을 갖는 코드(반대는 비가중치 코드)

     

    * 자기보수 코드(Self Complementing)

    2진수로 된 코드의 1을 0으로, 0을 1로 모두 바꿈으로써 해당 코드의 10진수 값에 대해 9의 보수를 얻는 코드

     

    2. Excess-3코드(3 초과 코드)

    - BCD + 3 (0011(2))

    - 대표적인 자기보수 코드이며, 비가중치 코드

     

    3. Gray 코드

    - BCD 코드의 인접하는 비트를 XOR 연산하여 만든 코드로 입출력장치 코드로 유용하게 사용됨

    - 1bit만 변화시켜 다음 수치로 증가시키기 때문에 하드웨어적인 오류가 적어 하드웨어 동작을 제어하기에 적합

    - 연속되는 2개의 숫자를 표현한 코드에서 한 비트를 변경하면 새로운 코드가 되기 때문에 아날로그-디지털(A/D) 변환, 데이터 전송에 주로 사용

     

     

    2진수를 Gray Code로 변환하는 방법

    1) 첫번째 그레이 비트는 2진수 비트를 그대로 내려씀

    2) 2번째 Gray Bit부터는 변경할 2진수의 해당 번재 비트와 그 왼쪽의 비트를 XOR 연산하여 씀

     

    Gray Code를 2진수로 변환하는 방법

    1) 첫번째 2진수 비트는 그레이 비트를 그대로 내려씀

    2) 2번째 2진수 비트부터는 왼쪽에 구해놓은 2진수 비트와 변경할 그레이 코드의 해당 번째 비트를 XOR 연산하여 씀

     

    4. 패리티 검사 코드

    - 패리티 검사 코드는 코드의 오류를 검사하기 위해 데이터 비트 외에 1bit의 패리티 체크 비트를 추가하는 것으로 1bit의 오류만 검출할 수 있다.

    - 1의 개수에 따라 짝수(Even, 우수) 패리티와 홀수(Odd, 기수) 패리티 방법이 있다.

     

    Odd Parity

    코드에서 1인 비트의 수가 홀수가 되도록 0이나 1을 추가

     

    Even Parity

    코드에서 1인 비트의 수가 짝수가 되도록 0이나 1을 추가

     

    5. 해밍 코드

    - 해밍 코드는 오류를 스스로 검출하여 교정이 가능한 코드

    - 해밍 코드는 2bit의 오류를 검출할 수 있고, 1bit의 오류를 교정할 수 있다.

    - 해밍 코드 중 1, 2, 4, 8, 16, ..., 2^n 번째는 오류 검출을 위한 패리티 비트

    * 오류 검출과 교정이 가능한 유일한 코드

     

    6. 코드의 분류

    분류 코드 종류
    가중치 코드
    (Weight Code)
    BCD(8421), 2421, 84-2-1, Biquinary(5043210), 51111, Ring-Counter(9876543210)
    비가중치 코드
    (Non-weight Code)
    3 초과(Excess-3), Gray, Jonson, 2-out-of-5, 3-out-of-5
    자기보수 코드
    (Self-Complement Code)
    Excess-3, 2421, 51111, 84-2-1
    오류 검출용 코드 해밍 코드, 패리티 검사 코드, Biquinary, Ring-Counter, 2-out-of-5, 3-out-of-5

     

    댓글

coding wanee