자료 표현과 진법
쉽게 말하면
컴퓨터는 모든 걸 0과 1로 저장해요. 0 또는 1 한 칸이 비트, 8비트를 묶으면 바이트(영문 한 글자)예요. 사람이 쓰는 10진수를 컴퓨터는 2진수로 바꿔 다루고, 길어진 2진수를 짧게 보려고 8진수·16진수를 써요. 글자는 정해진 번호표(문자 코드)로 저장하는데, 영어용 ASCII와 세계 모든 글자를 담는 유니코드가 있어요.
시험용 정의
자료의 최소 단위는 비트(0 또는 1)이고, 4비트는 니블, 8비트는 바이트(문자 하나를 나타내는 기본 단위), 컴퓨터가 한 번에 처리하는 단위는 워드다. n비트로는 2ⁿ가지를 나타낸다. 진법 변환: 10진수 → n진수는 n으로 나눈 나머지를 거꾸로 읽고, 2진수 → 8진수는 3자리씩, 16진수는 4자리씩 묶는다(16진수는 10~15를 A~F로). 문자 코드는 BCD(6비트), ASCII(7비트, 128자, 데이터 통신·PC), EBCDIC(8비트, 대형 컴퓨터), 유니코드(16비트 이상, 전 세계 문자)가 있다. 오류 검출은 패리티 비트(1의 개수를 짝수·홀수로 맞춤, 1비트 오류 검출), 오류를 찾아 고치기까지 하는 것은 해밍 코드다. 용량 단위는 KB(2¹⁰) < MB(2²⁰) < GB(2³⁰) < TB(2⁴⁰) < PB(2⁵⁰)다.
비유로 이해하기
비트는 전등 스위치 하나(켜짐·꺼짐)다. 스위치 8개를 나란히 두면 256가지 조합을 만들 수 있고, 이 조합마다 글자 번호를 붙인 게 문자 코드다.
자세히
그림으로 보기: 정보의 단위
- 비트0 또는 1
- 니블4비트
- 바이트8비트, 영문 한 글자
- KB1024바이트
- MB1024KB
- GB1024MB
- TB1024GB
먼저 알아 둘 말
| 말 | 뜻 |
|---|---|
| 비트 | 0 또는 1. 정보의 최소 단위 (Binary digit) |
| 바이트 | 8비트. 영문·숫자 한 글자 |
| 진법 | 몇 개의 숫자로 수를 나타내는가 (2진법은 0과 1) |
| 문자 코드 | 글자마다 붙인 번호 체계 |
| 패리티 비트 | 오류를 알아내려고 덧붙이는 비트 하나 |
진법 변환 연습
| 10진수 | 2진수 | 8진수 | 16진수 |
|---|---|---|---|
| 10 | 1010 | 12 | A |
| 13 | 1101 | 15 | D |
| 15 | 1111 | 17 | F |
| 16 | 10000 | 20 | 10 |
| 255 | 11111111 | 377 | FF |
변환 요령
- 10진 → 2진: 2로 나눈 나머지를 아래부터 읽기. 13 → 6 r1 → 3 r0 → 1 r1 → 0 r1 → 1101
- 2진 → 10진: 자리값(…8,4,2,1)을 더하기. 1101 = 8+4+0+1 = 13
- 2진 → 8진: 오른쪽부터 3자리씩. 1 101 → 1 5 → 15
- 2진 → 16진: 오른쪽부터 4자리씩. 1111 1111 → F F → FF
문자 코드
| 코드 | 비트 | 표현 수 | 쓰임 |
|---|---|---|---|
| BCD | 6비트 | 64자 | 초기 컴퓨터, 영문 소문자 없음 |
| ASCII | 7비트 (+패리티 1) | 128자 | PC, 데이터 통신 |
| EBCDIC | 8비트 | 256자 | 대형 컴퓨터 |
| 유니코드 | 16비트 이상 | 전 세계 문자 | 다국어 (한글 완성형 11,172자 모두) |
수치 표현
- 고정 소수점: 정수 표현, 연산이 빠르다. 음수는 부호와 절댓값·1의 보수·2의 보수(가장 많이 씀)
- 부동 소수점: 실수 표현, 부호·지수·가수로 나눠 아주 크거나 작은 수를 나타낸다. 고정 소수점보다 느리다
- BCD·팩·언팩 10진 연산 방식도 있다
기출에서 더 나온 것
| 말 | 뜻 |
|---|---|
| 용량 단위 | 1KB = 1024바이트, 1MB = 1024KB, 1GB = 1024 × 1024 × 1024바이트, 1TB = 1024GB |
1급에서 더 나오는 것
| 항목 | 알아 둘 것 |
|---|---|
| 보수 | 1의 보수는 0과 1을 바꾸기만(1100 → 0011), 2의 보수는 1의 보수에 1을 더함. 10진수에는 10의 보수와 9의 보수 |
| 코드 더 보기 | ASCII: 7비트(존 3+디지트 4) 128자, 확장 8비트, 오류 고침 비트 없음(그건 해밍 코드). EBCDIC: 8비트 256자. 유니코드: 기본 16비트로 65,536자, 세계 문자를 하나의 방식으로 |
| 진법 변환 | 8진수는 한 자리씩 2진수 세 자리로, 16진수는 네 자리씩 묶는다. 8진수를 16진수로 바꿀 때는 2진수를 거친다 |
시험에 이렇게 나와요
- ASCII → 표준 7비트 128자, 확장 8비트 256자 (대형 컴퓨터용은 EBCDIC)
- 유니코드 → 한 문자를 16비트로, 세계 여러 문자 표현
- 1GB → 1024 × 1024 × 1024 바이트
- 비트 → 정보의 최소 단위, 8비트 = 1바이트, 워드 → CPU가 한 번에 처리하는 명령 단위
- 문자 표현 코드가 아닌 것 → 패리티 비트(오류 검출용)
- (1급) 1의 보수·2의 보수, EBCDIC 8비트 256자, ASCII에는 오류 고침 비트 없음
확인 문제
Q1. 10진수 13을 2진수로 바꾸면?
- 1001
- 1011
- 1101
- 1110
정답 보기
3번 1101
13 = 8 + 4 + 1 → 2³ 자리 1, 2² 자리 1, 2¹ 자리 0, 2⁰ 자리 1 → 1101. 2로 계속 나누어 나머지를 아래에서 위로 읽어도 된다.
Q2. 2진수 11111111을 16진수로 바꾸면?
- FF
- 377
- EE
- 255
정답 보기
1번 FF
4자리씩 1111 1111 → F F. 10진수로는 255.
Q3. 오류를 검출할 뿐 아니라 스스로 정정까지 할 수 있는 코드는?
- 해밍 코드
- 패리티 비트
- ASCII
- BCD
정답 보기
1번 해밍 코드
해밍 코드다. 오류를 찾고 고치기까지 한다. 패리티 비트는 오류가 있는지만 알 수 있고 고치지 못한다.
Q4. 7비트로 128가지 문자를 표현하며 PC와 데이터 통신에 주로 쓰는 코드는?
- 유니코드
- BCD
- EBCDIC
- ASCII
정답 보기
4번 ASCII
EBCDIC는 8비트 대형 컴퓨터용.
Q5. 한 문자를 16비트로 나타내 세계 여러 나라 문자를 표현하는 코드는?
- ASCII
- 유니코드
- EBCDIC
- 패리티 비트
정답 보기
2번 유니코드
ASCII는 7비트 128자, EBCDIC은 대형 컴퓨터용, 패리티 비트는 오류 검출용이다.
Q6. 1GB는 몇 바이트인가?
- 1024 × 1024바이트
- 1024바이트
- 1024 × 1024 × 1024바이트
- 1000바이트
정답 보기
3번 1024 × 1024 × 1024바이트
1KB = 1024B, 1MB = 1024KB, 1GB = 1024MB.
헷갈리기 쉬운 O·X
1바이트는 4비트다.
정답 보기
X 틀리다. 1바이트는 8비트다. 4비트는 니블이라고 한다.
5비트로 표현할 수 있는 가짓수는 32가지다.
정답 보기
O 맞다. 비트 하나가 0과 1 두 가지라 5비트는 2를 다섯 번 곱한 2⁵ = 32가지다.
TB는 GB보다 작은 단위다.
정답 보기
X 틀리다. TB가 더 크다. 1TB = 1024GB다. 작은 순서는 KB, MB, GB, TB다.