728x90
1. 데이터와 정보
✅ 데이터와 정보의 관계
I = P(D) |
![]() |
🔸데이터 표현 형태
- 데이터의 유형(문자, 정수/실수, 이미지, 오디오, 비디오...)과 무관하게 일관된 표현 방식 = "비트 패턴"
메모리에 저장된 데이터 유형에 맞는 해석과 처리가 필요 → 입출력 장치나 프로그램의 책임
✅ 데이터 표현 단위
비트(binary digit) | 0 또는 1 | 예/아니오(수치❌ 기호⭕) |
1바이트(byte) | 8bit | 알파벳 또는 숫자 한 개 |
1킬로바이트(KB) | 1024 byte | 몇 개의 문단 |
1메가바이트(MB) | 1024 KB | 1분 길이의 MP3 노래 |
1기가바이트(GB) | 1024 MB | 30분 길이의 HD 영화 |
1테라바이트(TB) | 1024 GB | 약 200편의 FHD 영화 |
1페타바이트(PB) | 1024 TB | |
1엑사바이트(EB) | 1024 PT | |
1제타바이트(ZB) | 1024 EB | |
1요타바이트(YB) | 1024 ZB | |
워드(word) | 컴퓨터 연산의 기본단위가 되는 정보의 양 → 32비트, 64비트 |
2. 진법
✅ 진법(number system)
- 수를 세는 방법 또는 단위
- r진수: 0, 1, ..., (r-1)까지의 숫자만을 사용해서 표현한 수
- 각 위치에 따른 서로 다른 가중치(자릿값)가 존재
십진수 '123' | = 일백이십삼 = 1*10^2+2*10^1+3*10^0 |
이진수 '10111.011' | ![]() |
🔸2진수 → 10진수
10진수 = (각 비트값 * 해당 비트 위치의 가중치) 의 합
🔸8진수, 16진수 → 10진수
10진수 = (각 비트값 * 해당 비트 위치의 가중치) 의 합
🔸10진수 → r진수(r=2, 8, 16)
정수 부분과 소수 부분을 구분하여 각각 처리한 후, 각 결과를 단순히 연결해서 나열
🔸10진수_정수 부분 → r진수(r=2, 8, 16)
알고리즘 | 예시 |
![]() |
![]() |
🔸10진수_소수 부분 → r진수(r=2, 8, 16)
알고리즘 |
|
![]() |
|
예시 | |
![]() |
![]() |
![]() |
- 소수 부분이 반복되는 경우, 반복 값 전까지만 변환
💡십진수 0.6 ≒ 이진수 0.1001 => 비슷한 값이긴 하지만 같은 값은 아님
🔸2진수 ↔ 8진수/16진수
3. 정수 표현
✅ 정수 표현 방법
- 부호 없는 정수: 부호(+,-) 비트가 없음
- 부호 있는 정수: 최상위 비트 => 부호 비트(0: 양수, 1: 음수)
- 음의 정수는 서로 다른 형태를 가짐 (양의 정수는 모두 동일)
- 부호화-크기: 절대값으로 표현
- 1의 보수: 양수에 대한 보수로서 표현
- 2의 보수: (1의보수+1)로 음수 표현
✅ 부호 없는 정수
✅ 부호 있는 정수
✅ 8비트 정수 표현 방법 비교
✅ 2의 보수 방식의 응용
24-17 |
![]() |
연습 문제 |
![]() |
4. 실수 표현
![]() |
![]() |
✅ 실수 표현
- 과학적 표기법을 활용한 부동소수점 방식으로 표현
- 지수 → 초과표기법
- 가수 → 정규화
✅ 초과표기법
- 부동소수점 방식의 지수 부분만을 표현하기 위한 방법
- 매직 넘버
![]() |
![]() |
✅ 정규화
- 가수를 표현할 때 표준화된 형식이 필요
- → 소수점의 위치를 통일
- 소수점을 기준으로 소수점 왼쪽에 1이 오직 하나만 있도록 소수점의 위치를 조정
⭐ 실수 표현 예
💡 정규화 후, 소수점 왼쪽에 있는 1을 저장하지 않는 이유
정규화를 통해 소수점 왼쪽에는 무조건 1만 있다는 걸 알기 때문에이를 저장하지 않고 대신에 다른 데이터를 저장
※ 23비트에 저장된 값을 사용하기 위해 해석할 때는 앞에 1. 붙여줘야 함!
🔸IEEE 부동소수점 방식의 표준 형식
5. 문자 표현
✅ 문자 표현
- 키보드를 통해 입력되는 문자도 2진수로 표현되어 처리
- 각 문자마다 유일한 값으로써 코드를 할당할 수 있는 약속된 문자 체계가 필요
- 문자 체계의 종류: ASCII, 유니코드, ...
✅ ASCII
- American Standard Code for Information Interchange
- 미국표준협회(ANSI)
- 7비트 코드 → 128(2^7)의 서로 다른 문자 표현 가능
- 실제 사용할 때는 8비트로 맞춰주기 위해 왼쪽에 1비트를 추가시켜 1byte를 만듬
- 확장된 아스키(Extended ASCII): 1비트+7비트
- 1비트
- 그냥 0으로 채워 넣음
- 패러티(parity)비트: 데이터를 전송할 때 전송상에서 발생하는 오류를 검출하기 위한 용도로 사용
- 짝수 패러티: 11001100
- 홀수 패러티: 01001100
✅ 유니코드
- 세계의 모든 문자를 컴퓨터에서 일관되게 표현하고 다룰 수 있도록 설계된 산업 표준
- 1990년 애플 컴퓨터, IBM, MS 등 컨소시엄으로 설립한 유니코드(Unicode)가 첫 버전발표
- 1995년 국제 표준으로 제정 → 공식명칭: ISO/IC 10646-1
- 사용 중인 플랫폼, 프로그램, 언어에 무관
- 16비트 코드 체계 → 65636개(2^16)의 서로 다른 문자 표현
🔸EBCDIC
- Extended Binary Coded Decimal Interchange Code
- IBM 개발, 8비트 코드 → 실제 사용되는 문자 코드는 127개
- IBM 메인 프레임에서만 사용
🔸BCD
- Binary Coded Decimal
- 4비트로 구성된 열 개의 코드로 10진수를 표현 → '8421 코드'
728x90
'KNOU > 컴퓨터과학개론' 카테고리의 다른 글
[컴퓨터과학개론] 6. 알고리즘(2) (0) | 2022.12.10 |
---|---|
[컴퓨터과학개론] 5. 알고리즘 (1) | 2022.11.18 |
[컴퓨터과학개론] 4. 자료구조(2) (0) | 2022.10.10 |
[컴퓨터과학개론] 3. 자료구조(1) (1) | 2022.09.26 |
[컴퓨터과학개론] 1. 컴퓨터와 자료(1) (0) | 2022.08.24 |