티스토리 뷰
1. 문자자료의 표현
▶ 문자자료의 표현 : 문자에 대한 2진수 코드를 정의하여 사용
문자에 대한 이진수 코드표 : BCD 코드, EBCDIC 코드, ASCII 코드, 유니 코드
1) BCD 코드 (Binary-Coded Decimal)
① 6비트를 사용하여 문자표현
- 상위 2비트 : 존 비트
- 하위 4비트 : 2진수 비트
- 존 비트와 2진수 비트를 조합하여 10진수 0~9와 영어의 대/소문자 특수문자를 표현
2) EBCDIC 코드 (Extended Binary-Coded Decimal Interchange Code)
① 8비트를 사용하여 문자표현
- 상위 4비트 : 존 비트
- 하위 4비트 : 2진수 비트
- 존 비트와 2진수 비트를 조합하여 10진수 0~9와 영어의 대/소문자 특수문자를 표현
② 확장형 BCD 코드
3) ASCII코드 (American Standard Code for Information Interchange)
① 7비트를 사용하여 문자표현
- 상위 3비트 : 존 비트
- 하위 4비트 : 2진수 비트
- 존 비트와 2진수 비트를 조합하여 10진수 0~9와 영어 대문자/소문자, 특수문자를 표현
- 미국 표준화
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 : 부분 문자열을 연속하여 저장하고 각 부분 문자열에 대한 포인터를 사용함.
2) 문자열표현 3가지 방법의 메모리 이용률과 부분 문자열 탐색시간 비교
메모리 이용률 | 부분 문자열 탐색 시간 | |
구분자 사용 | 문자열 길이 + 구분자 길이 → 효율적 |
문자 비교 연산 시간 + 구분자 식별 시간 → 비효율적 |
고정 길이로 저장 | 가장 긴 부분 문자열 길이 X 부문 문자열의 개수 → 비효율적 |
문자 비교 연산 시간 → 효율적 |
포인터 사용 | 문자열 길이 + 포인터 저장 공간 → 효율적 |
문자 비교 연산 시간 + 포인터 주소 연산 시간 → 효율적 |
2022. 01. 07 수업내용 정리
v C로 배우는 쉬운 자료구조, 이지영, 한빛아카데미, pp.35~40
'자료구조' 카테고리의 다른 글
자바 자료구조 | 1-3. 알고리즘과 시간 복잡도 (0) | 2022.05.31 |
---|---|
자바 자료구조 | 1-2. 컴퓨터가 데이터를 다루는 방법 (0) | 2022.05.30 |
자바 자료구조 | 1. 개요 (0) | 2022.05.30 |
🌞[자료구조] 자료의 표현 - 10진수와 2진수 (0) | 2022.01.06 |
🌞[자료구조] 자료구조의 개념과 분류, SW코딩이란? (0) | 2022.01.05 |
- Total
- Today
- Yesterday
- 킹
- 알고리즘
- 10진수
- solved.ac
- K번째수
- 크레인 인형뽑기 게임
- ASCII코드
- 인형뽑기
- 1063
- 코딩테스트
- 카카오 코딩테스트
- 2진수
- 자료표현
- 프로그래머스 # 음양더하기
- 프로그래머스
- Git
- 2019 카카오 개발자 겨울 인턴십
- 오
- 브루트포스
- java
- stack
- 백준
- 구현
- 자료구조
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |