Goal
- 컴퓨터에서 수를 표현하는 방법에 대한 이해
컴퓨터가 '수'를 표현하는 '숫자' : 이진수
컴퓨터는 전기적 신호에 의해 동작하는 기계이다. 따라서 전기적 신호가 있는지(1) 없는지(0) 두 가지 상태값을 가지며 두 상태값에 따라서 수를 표현할 수 있다. 이 때 이 두가지 상태값을 표현하기 적합한 숫자가 이진수이다.
다음은 기수(기준이 되는 수)별로 숫자를 표현하는 방법을 나타낸다.
n진법 : 기수가 n인 위치값 기수법 (n진수를 표현할 때 아래에 첨자를 붙여 표현)
10진법
10을 기수로 하는 위치값 기수법 (위치값 기수법(positional numeral) : 자릿수에 모두 동일하게 숫자를 표기하는 방법)
각 자리에는 0~9의 숫자가 올 수 있다. => 10진수 (표현 문자의 수가 10개)
ex) $315_{(10)}$ 의 각 자릿수는 0~9 숫자로 표현된다. 100의 자리 3, 10의자리 1, 1의 자리 5
=> $315_{(10)} = 3 \times 10^2 + 1 \times 10^1 + 5 \times 10^0$
소수점의 경우 음수 승으로 표현 가능하다. $0.3_{(10)} = 3 \times 10^{-1}$
2진법
2를 기수로 하는 위치값 기수법
각 자리에는 0 또는 1만 올 수 있다. => 2진수 (표현 문자의 수가 2개)
ex) $1010_{(2)} = 1 \times 2^3 + 0 \times 2^2 + 1 \times 2^1 + 0 \times 2^0$
8진법
8을 기수로 하는 위치값 기수법
각 자리에는 0~7만 올 수 있다. => 8진수
ex) $35_{(8)} = 3 \times 8^1 + 5 \times 8^0$
16진법
16을 기수로 하는 위치값 기수법
각 자리에는 0~9, A~F(10~15사이의 숫자) 숫자가 올 수 있다. => 16진수 (16진법에서 16개의 수를 표현하는 숫자)
ex) $F5_{(16)} = 15 \times 16^1 + 5 \times 16^0$
진법별 변환 방법이다.
n진법 -> 10진법으로의 변환
(각 자릿수의 계수 * 각 자릿수의 가중치값) 들의 합으로 표현
10진법 -> n진법으로의 변환
- 10진법의 수를 n 나눈 몫을 그 다음 단계에 사용
- 나머지는 순서대로 나열한다
- 더이상 나눌 수 없을 때 까지 1,2 과정을 반복한다
- 최종적으로 나머지를 역순으로 다시 나열하면 n진수가 된다.
ex) 13은 2진수로 거듭해서 나눴을 때 나머지 나열 1, 0, 1, 1 => 역순 1 1 0 1
2진수, 8진수, 16진수
2진수로 변환해서 진법 변환이 가능하다.
$8 = 2^3 , 16 = 2^4$이므로
- 2진수의 3자리 = 8진수
- 2진수 4자리 = 16진수
수 : 양을 나타내는 추상적 개념
숫자 : 수를 나타내는 기호 또는 글자
ex) 아라비아 숫자 : 십진법으로 수를 표시하는 열 개의 숫자(0~9)
수와 숫자 둘을 같은 의미로 사용 하는 경우도 있지만, 본질적으로 다른 의미를 지니고 있다.
수가 물체의 수량 등을 나타내는 것이라면, 숫자는 수를 표시하기 위한 기호(문자)이다.
일반적으로 '수'라고 하면 실수 범위 이내를 말한다.
기수법(numeral system) : 수를 시각적으로 나타내는 방법으로, 기수법을 통해서 나타나는 각각의 숫자는 다른 수들과 구별되는 표기 방식을 가진다.
위치값 기수법(positional system)이란?
자릿수(숫자의 위치) 상관없이 같은 숫자를 쓰는 기수법
현대에서 가장 많이 사용되는 기수법으로 10진법, 2진법, 8진법, 16진법 등이 위치값 기수법이다.
예를들어 10진법에서
125는 100의 자리가 1, 10의 자리가 2, 1의 자리가 5로 표현된 기수법이다. (각 자리는 0~9로 같은 '숫자'로 표현)
참고)
https://ko.wikipedia.org/wiki/%EC%88%98_(%EC%88%98%ED%95%99)
'컴퓨터 기본 지식' 카테고리의 다른 글
비트 연산에 대한 이해 (0) | 2020.06.24 |
---|---|
컴퓨터의 실수 표현 방법 (1) | 2020.06.24 |
컴퓨터의 정수 표현 방법 (0) | 2020.06.24 |
문자 인코딩에 대한 이해 (0) | 2020.06.23 |
스트림, 버퍼에 대한 이해 (0) | 2020.06.22 |