브래의 슬기로운 코딩 생활
자료구조 개념, 자료의 표현(1) 본문
자료구조의 이해 : 개념
자료구조의 개념
자료를 효율적으로 표현하고 저장하고 처리할 수 있도록 정리하는 것
컴퓨터 분야에서 자료구조를 왜 배워야 하는가?
- 컴퓨터가 효율적으로 문제를 처리하기 위해서는 문제를 정의하고
분석하여 그에 대한 최적의 프로그램을 작성해야 한다.
자료구조의 이해 : 분류
자료의 형태에 따른 분류
단순 구조
- 정수, 실수, 문자, 문자열, 등의 기본 자료형
선형 구조
- 자료들 사이의 관계가 1:1 관계
- 순차 리스트, 연결 리스트, 스택, 큐, 데크 등
비선형 구조
- 자료들 사이의 관계가 1:다, 또는 다:다 관계
- 트리, 그래프 등
파일 구조
- 서로 관련 있는 필드로 구성된 레코드의 집합인 파일에 대한 구조
- 순차 파일, 색인 파일, 직접 파일 등
자료의 표현
컴퓨터에서의 자료 표현
- 숫자, 문자, 그림, 소리, 기호 등 모든 형식의 자료를 2진수 코드로
표현하여 저장 및 처리
표현하여 저장 및 처리
2진수 코드란?
- 1과 0, On과 Off, 참True과 거짓False의 조합
2진수 코드의 단위
디지털 시스템에서의 자료 표현
- n개의 비트로 2n개의 상태 표현
컴퓨터 내부에서 표현할 수 있는 자료의 종류
자료의 표현 : 수치 자료의 표현
10진수의 표현
- 컴퓨터 내부에서 10진 데이터의 표현 방식에는 팩(packed) 10진법 형식과 언 팩(Unpacked =존 형식)
10진법 형식의 두 가지 유형이 있다.
존Zone 형식의 표현
- 10진수 한 자리를 표현하기 위해서 1바이트(8비트)를 사용하는 형식
존 영역
− 상위 4비트 : 1111로 표현 또는 F
수치 영역
− 하위 4비트
− 표현하고자 하는 10진수 한 자리 값에 대한 2진수 값을 표시
존 형식의 구조
수치 영역의 값 표현
1) 존 형식(Unpacked) 10진수의 표현
여러 자리의 10진수를 표현하는 방법
- 10진수의 자릿수만큼 존 형식을 연결하여 사용
- 마지막 자리의 존 영역에 부호를 표시
- 양수(+) : 1100
- 음수(-) : 1101
2) 팩(pack)10진수의 표현
- 10진수 한 자리를 표현하기 위해서 존 영역 없이 4비트를 사용하는 형식
- 최하위 4비트에 부호를 표시
- 양수(+) : 1100
- 음수(-) : 1101
2진수의 정수 표현
n비트의 부호 절댓값 형식
- 최상위 1비트 : 부호 표시
−양수(+) : 0
−음수(-) : 1
- 나머지 n-1 비트 : 이진수 표시
- 1바이트를 사용하는 부호 절댓값 표현 예
① 1의 보수(1s Complement)
- 2진수에 대한 1의 보수는 1을 0으로, 모든 0을 1로 변환한다.
② 2의 보수(2 s Complement)
- 2진수에 대한 2의 보수는 1의 보수에 1을 더하면 된다.
1의 보수(1’ Complement) 형식
- 음수 표현에서 부호 비트를 사용하는 대신 1의 보수를 사용하는 방법
n비트의 2진수를 1의 보수로 만드는 방법
−n비트를 모두 1로 만든 이진수에서 변환하고자 하는 이진수를 뺌
예) 10진수 21을 1의 보수로 만듦(1바이트 사용)
2의 보수(2’ Complement) 형식
- 음수의 표현에서 부호 비트를 사용하는 대신 2의 보수를 사용하는 방법
n비트의 2진수를 2의 보수로 만드는 방법
− 1의 보수에 1을 더함
예) 10진수 21을 2의 보수로 만들기(1바이트 사용)
2진수의 보수의 연산(1의 보수)
2진수의 보수의 연산(2의 보수)
2진수의 실수 표현
고정 소수점 표현
- 소수점이 항상 최상위 비트의 왼쪽 밖에 고정되어 있는 것으로 취급하는 방법
- 고정 소수점 표현의 00010101은 0.00010101의 실수 값을 의미
부동 소수점 표현
- 고정 소수점 형식에 비해서 표현 가능한 값의 범위가 넓음
- 실수를 구분하여 표현
부동 소수점 형식의 표현
'Class > 자료구조, 알고리즘' 카테고리의 다른 글
자료구조 구현을 위한 C 프로그래밍 기법 - 포인터 (0) | 2023.02.15 |
---|---|
자료구조 구현을 위한 C 프로그래밍 기법 - 배열 (0) | 2023.02.14 |
알고리즘의 이해, 표현 방식, 성능 분석 (0) | 2023.02.12 |
자료의 표현(2), 자료의 추상화 (0) | 2023.02.09 |
자료구조, 알고리즘 출처 (0) | 2023.02.07 |