C H A P T E R

2
ㅔ

수의 체계

공부할 내용

- 비트, 바이트

- 문자 저장 방식

- 2, 8, 10, 16진법

- 숫자의 진법간의 변환

- 16진수의 덧셈과 뺄셈

비트와 바이트

(1) 컴퓨터의 메모리에 저장되어 있는 정보

100100110110010111001001000100010011101011...

(2) 비트(bit): 0 또는 1

(3) 바이트(byte): 8비트의 묶음   (예: 01101001 )

(4) 워드(word): 컴퓨터의 프로세서 종류에 따라서 다름

(80286에서는 2바이트가 1워드임)

(5) 더블워드(doubleword): 4 바이트

(6) 쿼드워드(quadword): 8 바이트

(7) 패러그래프(paragraph): 16 바이트

문자 저장 방식

(1) 문자: a, b, c, ... , 1, 2, 3, ... , !, @, #, .....

(2) 1문자의 저장: 1 바이트를 사용함

(3) 1 바이트를 사용하여 표현할 수 있는 문자의 개수

[eqn: = 2 times 2 times 2 times 2 times 2 times 2 times 2 times 2 = 256~]

(4) 아스키코드(ASCII, American Standard Code for Information Interchange)

(교재 부록 B 또는 과목게시판 참조)

예)	□A□ → 01000001

□Q□ → 01010001

2진법, 16진법

★ 2진법 (binary system), 또는 베이스 2 (base 2): 0 과 1 만 사용

★ 2진법의 단점

- 길이가 길어서 사용하기가 쉽지 않다.

★ 예

125 + 75 = 200

1111101B + 1001011B = 11001000B

★ 16진법(hexadecimal system), 또는 베이스 16 (base 16)

- 간결하면서 (2진수처럼) 메모리의 값을 그대로 보여주는 수의 체계

- 0, 1, 2, ... , 9, A, B, C, D, E, F

진법의 구별

★ 16진수: 숫자뒤에 □H□를 첨가하여 16진수임을 표시함.

예: 1D70H

★ 2진수: 숫자뒤에 □B□를 첨가하여 2진수임을 표시함.

예: 101100B

	표 2-5			2진법의 각 자릿수

2진수	대응되는 10진수의 값	2의 거듭제곱
1000 1000000 100000000 10000000000	8 64 256 1024	23 26 28 210

메모리의 크기

★ 컴퓨터가 처리하는 자료의 단위: byte

메모리의 크기 = 메모리의 byte 수로 표현

★ 용어

- 1 KB(kilobyte) = 1024(210) bytes

- 1 MB(megabyte) = 1048576(220) bytes

2진수와 16진수 사이의 변환

★ 진수 변환

- 1자리 16진수는 모두 4자리 2진수 1개와 대응할 수 있음.

예) 72AD2EH → 011100101010110100101110B

- 모든 4자리 2진수도 1자리 16진수 1개로 표현됨.

예) 10011010110101101B → 135ADH

16진수의 10진수로의 변환

예) 10진수인 50786을 16진수로 변환

50786의 값 = 6 + 8 × 10 + 7 × 100 + 0 × 1000 + 5 × 10000

= 6 + 8 × 10 + 7 × 102 + 0 × 103 + 5 × 104

AD65H 의 값 = 5 + 6 × 16 + 13 × 162 + 10 × 163

= 5 + 6 × 16 + 13 × 256 + 10 × 4096

= 44389

10진수의 16진수로의 변환

예) 14855를 16진수로 변환하여 보자.

1. 14855 / 16 ∀ 몫 = 928   나머지 = 7

2. 928 / 16 ∀ 몫 = 58 나머지 = 0

3. 58 / 16 ∀ 몫 = 3 나머지 = 10

4. 3/ 16 ∀ 몫 = 0 나머지 = 3

5. 지금까지 생성된 나머지를 오른편으로부터 왼쪽 방향으로 씀.

3 10 0 7 ∀ 3A07H

2진수의 10진수로의 변환

예) 10110011B는 다음과 같이 쓸 수 있다.

1 + 1 × 2 + 0 × 22 + 0 × 23 + 1 × 24 + 1 × 25 + 0 × 26 + 1 × 2 7

= 1 + 1 × 2 + 0 × 22 + 0 × 23 + 1 × 24 + 1 × 25 + 0 × 26 + 1 × 27

= 1 + 1 × 2 + 0 × 4 + 0 × 8 + 1 × 16 + 1 × 32 + 0 × 64 + 1 × 128

= 179

10진수의 2진수로의 변환

방법: 2로 계속하여 나눈 후에 나머지를 오른쪽에서부터 써간다.

16진수의 덧셈, 뺄셈

예) 28A70H와 90B6H를 더하여 보자.

28A70

+  90B6

--------------

31B26   ∀	답: 31B26H

예) 74AH - 2EFH를 계산하여 보자.

74A

- 2EF

--------------

45B   ∀	답: 45BH