우선- 진법의 구조와x진수->10진수로 변환하는 법입니다.
우리가 일상생활에서 사용하는 수는 10진법을 사용한다. 10진법은 0부터 9까지의 10개의 숫자를 사용하여 수를 나타낸다. 자연수 523은 100이 5개, 10이 2개, 1이 3개인 수를 합한 것이며 다음과 같이 표현할 수 있다. | ① 10진법
523.4 = (5 × 100) + (2 × 10) + (3 × 1) + (4 × 0.1) = (5 × 102)+ (2 × 101) + (3 × 100) + (4 × 10-1) | | | | +--------------------------------------- 가중값
|
각 진법에서 기호에 사용되는 숫자의 수를 밑수(base)라고 하며, 10진법에서의 밑수는 10이 된다. 또한 모든 수는 소숫점을 기준으로 각 자리에 대하여 오른쪽부터 왼쪽으로 밑수를 거듭제곱한 크기의 가중값을 가지며, 소숫점을 기준으로 왼쪽에서 오른쪽으로는 거듭제곱의 역수를 가중값으로 가진다. 이러한 체계는 모든 진법의 수에서 공통적이므로 적용되므로 2진법, 8진법, 16진법도 같은 방법으로 계산할 수 있다. |
② 2진법(Binary)
모든 진법에서 밑수는 0부터 시작한다. 진법의 수는 밑수가 2개이므로 0과 1이 2진수의 밑수이다. 즉 2진수는 0과 1로만 이루어진 수가 된다. 각 자리의 수는 오른쪽에서 왼쪽으로 2의 거듭 제곱의 가중값을 갖는다. 컴퓨터에서 기억 용량의 최소 단위를 비트(bit)라고 하며, 한 자리의 2진수를 표현할 수 있는 기억 용량이다. 4자리의 2진수, 즉 4비트의 2진수 1011은 다음 전개식과 같이 나타낼 수 있다. |
(1 0 1 1)2= (1 × 23)+ (0 × 22) + (1 × 21) + (1 × 20) = 8 + 0 + 2 + 1 = (11)10
| ③ 8진법(Octal) 8진법의 수는 0부터 7까지의 8개의 숫자로 표현하는 수로써 밑수는 8이다. 2진수의 수로 어떤 값을 표현하려면 자릿수가 많이 필요하게 되며 이해하기도 어려워진다. 따라서 2진수의 값을 좀 더 간단하게 표현하기 위해 8진법을 사용한다. 8진수 2진수 3자리의 값(23-1값까지)을 한 모둠으로 묶어 한 자릿수로 나타낸다. 8진수 251은 다음 전개식과 같이 나타낼 수 있다. |
(251)8= (2 × 82)+ (5 × 81) + (1 × 80) = 128 + 40 + 1 = (169)10
|
④ 16진법(Hexadecimal)
16진법은 0부터 9까지의 숫자와 A, B, C, D, E, F 등 16개의 문자를 사용하여 표현하는 수로써 밑수는 16이다. 16진수는 2진수 4자리의 값(24-1값까지)을 한 모둠으로 묶어 한 자릿수로 나타낼 수 있어 2진수로 표현된 값을 간단하게 나타내는데 사용한다. 16진수 1C3은 다음 전개식과 같이 나타낼 수 있다. |
(1C3)16 = (1 × 162)+ (12 × 161) + (3 × 160) = 256 + 192 + 3 = (451)10
|
10진법 | 2진법 | 8진법 | 16진법 | 10진법 | 2진법 | 8진법 | 16진법 | 0 | 0 | 0 | 0 | 16 | 10000 | 20 | 10 | 1 | 1 | 1 | 1 | 17 | 10001 | 21 | 11 | 2 | 10 | 2 | 2 | 18 | 10010 | 22 | 12 | 3 | 11 | 3 | 3 | 19 | 10011 | 23 | 13 | 4 | 100 | 4 | 4 | 20 | 10100 | 24 | 14 | 5 | 101 | 5 | 5 | 21 | 10101 | 25 | 15 | 6 | 110 | 6 | 6 | 22 | 10110 | 26 | 16 | 7 | 111 | 7 | 7 | 23 | 10111 | 27 | 17 | 8 | 1000 | 10 | 8 | 24 | 11000 | 30 | 18 | 9 | 1001 | 11 | 9 | 25 | 11001 | 31 | 19 | 10 | 1010 | 12 | A | 26 | 11010 | 32 | 1A | 11 | 1011 | 13 | B | 27 | 11011 | 33 | 1B | 12 | 1100 | 14 | C | 28 | 11100 | 34 | 1C | 13 | 1101 | 15 | D | 29 | 11101 | 35 | 1D | 14 | 1110 | 16 | E | 30 | 11110 | 36 | 1E | 15 | 1111 | 17 | F | 31 | 11111 | 37 | 1F |
|
|
10진수-> x진수로 변환하는 법
★10진수를 2진법으로 변환 o. 10진수를 밑 수인 2로 나누어서 몫과 나머지를 분리해서 표기. o. 몫이 완전히 나누어 질 때까지 이 과정을 반복한다. o. 몫이 완전히 나누어진 후 나머지를 발생된 순서대로 오른쪽에서 왼쪽으로 정렬해 표기하면 2진수가 된다. 2 ) 25 2 ) 12 -----> 1 2 ) 6 -----> 0 2 ) 3 -----> 0 (25)10= (11001)2
2 ) 1 -----> 1 0 -----> 1
★10진수 682를 8진수로 바꾸는 방법
8 ) 682 8 ) 85 ----> 2 8 ) 10 ----> 5 (682)10= (1252)8
8 ) 1 ----> 2 0 ----> 1
★10진수를 16진수로 바꿀 때는 10진수를 16으로 나눗셈하여 완전히 나눗셈이 계산된 후 각 관계의 나머지를 정렬한다. 10진수 1839를 16진수로 바꾸는 방법 16 ) 1839 16 ) 114 -----> F 16 ) 7 -----> 2 <-----> (1839)10 = (72F)16
0 -----> 7
◆기타...
8진 숫자와 2진수와의 관계
8진수 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 대응되는 2진수 | 000 | 001 | 010 | 011 | 100 | 101 | 110 | 111 |
16진수는 2진수 네 자리와 같음. 2진수가 여러 자리로 연속될 때 오른쪽에서부터 네 자리씩 묶어서 16진수 한 자리로 표현.
1 0 1 1 1 0 1 0 1 1 0 0 0 0 1 0 = (BAC2)16
--------- ---------- --------- ---------
B A C 2
★소수 진법 변환입니다. 소수 부분의 변환 방법 : 소수 부분을 변환하고자 하는 진수의 밑수로 0이 될 때까지 계속 곱하여 자리 올림수가 발생되는 순서대로 표시하면 된다.
(0.625)10 =(0.101)2
(0.625)10 =(0.A)16
자리올림수 소수 0.625×2=1. │ 250 0.250×2=0. │ 500 0.500×2=1. ↓ 000 0.625×16=10. ↓ 000 | |