[자료구조] 자료의 표현

Dev_Sanizzang·2021년 8월 31일

자료구조

목록 보기
2/13

수치 자료의 표현

10진수의 표현

존(zone)형식의 표현

  • 10진수 한 자리를 표현하기 위해서 1바이트(8비트)를 사용하는 형식
  • 존 영역
    - 상위 4비트
    • 1111로 표현
  • 수치 영역
    - 하위 4비트
    - 표현하고자 하는 10진수 한 자리 값에 대한 2진수 값을 표시

수치 영역의 값 표현

여러 자리의 10진수를 표현하는 방법

  • 10진수의 자릿수만큼 존 형식을 연결하여 사용
  • 마지막 자리의 존 영역에 부호를 표시
    - 양수(+): 1100 - 음수(-): 1101

팩(Pack) 형식의 표현

  • 10진수 한 자리를 표현하기 위해서 존 영역 없이 4비트를 사용하는 형식
  • 최하위 4비트에 부호를 표시
    - 양수(+): 1100 - 음수(-): 1101

2진수의 정수 표현

n비트의 부호 절댓값 형식

  • 최상위 1비트: 부호 표시
    - 양수(+): 0
    • 음수(-): 1
  • 나머지 n-1 비트: 이진수 표시
  • 1바이트를 사용하는 부호 절댓값 표현 예

1의 보수(1` Complement) 형식

  • 음수 표현에서 부호 비트를 사용하는 대신 1의 보수를 사용하는 방법
  • n비트의 2진수를 1의 보수로 만드는 방법
    - n비트를 모두 1로 만든 이진수에서 변환하고자 하는 이진수를 뻄
    • 예) 10진수 21을 1의 보수로 만듦(1바이트 사용)
  • 1바이트를 사용하는 1의 보수 표현 예

2의 보수(2` Complement) 형식

  • 음수의 표현에서 부호 비트를 사용하는 대신 2의 보수를 사용하는 방법
  • n비트의 2진수를 2의 보수로 만드는 방법
    - 1의 보수에 1을 더함
    • 예) 10진수 21을 2의 보수로 만들기(1바이트 사용)
  • 1바이트를 사용하는 2진 보수의 형식의 예
  • 2진수 정수의 세가지 표현 방법에서 양수의 표현은 같고 음수의 표현만 다르다.

고정 소수점 표현

  • 소수점이 항상 최상위 비트의 왼쪽 밖에 고정되어 있는 것으로 취급하는 방법
  • 고정 소수점의 표현의 00010101은 0.00010101의 실수 값을 의미

부동 소수점 형식의 표현

  • 고정 소수점 형식에 비해서 표현 가능한 값의 범위가 넓음
  • 실수를 구분하여 표현

문자 자료의 표현

  • 문자에 대한 이진수 코드를 정의하여 사용
  • 문자에 대한 이진수 코드표
    - BCD 코드
    • EBCDIC 코드
    • ASCII 코드

BCD 코드

6비트를 사용하여 문자 표현

  • 상위 2비트: 존 비트
  • 하위 4비트: 2진수 비트
  • 존 비트와 2진수 비트를 조합하여 10진수 0~9와 영어 대문자, 특수 문자를 표현

EBCDIC 코드

8비트를 사용하여 문자 표현

  • 상위 4비트: 존 비트
  • 하위 4비트: 2진수 비트
  • 존 비트와 2진수 비트를 조합하여 10진수 0~9와 영어 대문자/소문자와 특수문자를 표현

EBCDIC 코드의 구성

ASCII 코드

7비트를 사용하여 문자 표현

  • 상위 3비트: 존 비트
  • 하위 4비트: 2진수 비트
  • 존 비트와 2진수 비트를 조합하여 10진수 0~9와 영어 대문자/소문자, 특수문자를 표현

유니코드

  • EBCDIC 코드나 ASCII 코드는 최대 8비트로 숫자, 몇 가지 특수문자, 알파벳 정의하므로 문자 코드 표에 정의되어 있지 않은 문자 표현 불가능
  • 이런 문제 해결 위해 세계 여러 나라의 언어를 통일된 방법으로 표현할 수 있도록 정의한 국제 표준 코드(ISO/IEC 10646)
  • 2바이트를 조합하여 하나의 그랒를 표현하기 때문에 1바이트 코드로 표현할 수 없었던 다양한 언어를 표현
  • 유니코드 표는 http://www.unicode.org/에서 확인 가능
  • 초기 IBM 컴퓨터 시스템에서는 BCD 코드를 사용하다가 더 많은 문자 코드를 표현할 수 있는 EBCDIC코드로 대체, 그러다 미죽 표준 코드인 ASCII 코드 일반화, 현재는 표현의 한계를 극복한 유니코드가 일반화
  • XML, Java, CORBA 3.0, WML 등 인터넷 기반 프로그램과 제품에 사용

논리자료

  • 논리값을 표현하기 위한 자료 형식
  • 논리값
    - 참(True)와 거짓(False), 1과 0
  • 1바이트를 사용하여 논리자료를 표현하는 방법

포인터 자료

  • 메모리의 주소를 표현하기 위한 자료 형식
  • 변수의 주소나 메모리의 특정 위치에 대한 주소를 저장하고 주소연산하기 위해 사용

문자열(String) 자료

  • 여러 문자로 이루어진 문자의 그룹을 하나의 자료로 취급하여 메모리에 연속적으로 저장하는 자료 형식
  • 하나의 문자열 자료에 포함된 부분 문자열을 표현하는 방법
    - 방법 1: 부분 문자열 사이에 구분자를 사용하여 저장한다.
    • 방법 2: 가장 긴 문자열의 길이에 맞춰 고정길이로 저장한다.
    • 방법 3: 부분 문자열을 연속하여 저장하고 각 부분 문자열에 대한 포인터를 사용한다.

profile
기록을 통해 성장합니다.

0개의 댓글