티스토리 뷰

1. 문자자료의 표현

문자자료의 표현 : 문자에 대한 2진수 코드를 정의하여 사용 ­

문자에 대한 이진수 코드표 : BCD 코드, EBCDIC 코드, ASCII 코드, 유니 코드

 

1) BCD 코드 (Binary-Coded Decimal)

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

  - 상위 2비트 : 존 비트

  - 하위 4비트 : 2진수 비트

  - 존 비트와 2진수 비트를 조합하여 10진수 0~9와 영어의 대/소문자 특수문자를 표현

 

BCD코드 구성

 

BCD 코드 표현식 (010001(존비트 01과 숫자비트 0001을 연결)이 A에 대한 BCD 코드)

 

2) EBCDIC 코드 (Extended Binary-Coded Decimal Interchange Code)

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

  - 상위 4비트 : 존 비트

  - 하위 4비트 : 2진수 비트 

  - 존 비트와 2진수 비트를 조합하여 10진수 0~9와 영어의 대/소문자 특수문자를 표현

② 확장형 BCD 코드

EBCDIC 코드의 구성

 

EBCDIC 코드표

 

3) ASCII코드 (American Standard Code for Information Interchange)

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

  - 상위 3비트 : 존 비트

  - 하위 4비트 : 2진수 비트

  - 존 비트와 2진수 비트를 조합하여 10진수 0~9와 영어 대문자/소문자, 특수문자를 표현

  - 미국 표준화 

 

ASCII 코드의 구성

 

ASCII 코드표

 

4) 유니코드 

① EBCDIC 코드나 ASCII 코드는 최대 8비트로 숫자, 몇 가지 특수문자, 알파벳 정의하므로 문자 코드 표에 정의되어 있지 않은 문자 표현 불가능하다. 이러한 문제를 해결하기 위해 세계 여러 나라의 언어를 통일된 방법으로 표현할 수 있 도록 정의한 국제 표준 코드(ISO/IEC 10646)

2바이트를 조합하여 하나의 글자를 표현하기 때문에 1바이트 코드로 표현할 수 없었던 다양한 언어를 표현함.

③ 유니코드 표 http://www.unicode.org 

④ 초기 IBM 컴퓨터 시스템에서는 BCD 코드 -> EBCDIC코드 -> ASCII 코드 -> 유니코드로 일반화

⑤ XML, Java, CORBA 3.0, WML 등 인터넷 기반 프로그램과 제품에 사용

 

 

2. 논리자료의 표현

▶ 논리자료 ­

  - 논리자료 : 논리값을 표현하기 위한 자료 형식 ­

  - 논리값 : 참(True)와 거짓(False), 1과 0

 

1) 1바이트를 사용하여 논리자료를 표현하는 방법 3가지 

  - 참은 최하위 or 전체 or 하나이상의 비트를 1로, 거짓은 항상 전체 비트를 0으로 표기한다. 

① 방법 1

  - 참 : 최하위 비트를 1로 표시    00000001

  - 거짓 : 전체 비트를 0으로 표시 00000000

② 방법 2

  - 참 : 전체 비트를 1로 표시       11111111

  - 거짓 : 전체 비트를 0으로 표시 00000000

③ 방법 3

  - 참 : 하나 이상의 비트를 1로 표시 00000001 or 00000100 ……

  - 거짓 : 전체 비트를 0으로 표시     00000000

 

 

3. 포인터자료의 표현

▶ 포인터자료 ­

  - 메모리의 주소를 표현하기 위한 자료 형식 ­

  - 변수의 주소메모리의 특정 위치에 대한 주소를 저장하고 주소 연산하기 위해 사용

 

4. 문자열자료의 표현

▶ 문자열(String)자료 ­

여러 문자로 이루어진 문자의 그룹하나의 자료로 취급하여 메모리에 연속적으로 저장하는 자료 형식

 

1) 하나의 문자열 자료에 포함된 부분문자열을 표현하는 방법

① 방법 1 : 부분 문자열 사이에 구분자를 사용하여 저장함.

② 방법 2 : 가장 긴 문자열의 길이에 맞춰 고정 길이로 저장함.

③ 방법 3 : 부분 문자열연속하여 저장하고 각 부분 문자열에 대한 포인터를 사용함.

 

{COMPUTER, DATA STRUCTURE, STRINT}의 방법별 표기

 

2) 문자열표현 3가지 방법의 메모리 이용률과 부분 문자열 탐색시간 비교

 

  메모리 이용률 부분 문자열 탐색 시간
구분자 사용 문자열 길이 + 구분자 길이
효율적
문자 비교 연산 시간 + 구분자 식별 시간
비효율적
고정 길이로 저장 가장 긴 부분 문자열 길이 X 부문 문자열의 개수
비효율적
문자 비교 연산 시간
효율적
포인터 사용 문자열 길이 + 포인터 저장 공간
효율적
문자 비교 연산 시간 + 포인터 주소 연산 시간
효율적

 

 


2022. 01. 07 수업내용 정리 

 

v C로 배우는 쉬운 자료구조, 이지영, 한빛아카데미, pp.35~40

 

 

 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함