Coding Log


컴퓨터의 수 체계

컴퓨터에서 사용하고 있는 수의 체계에 대해서 정리해보자.

진법

진법이란 사용할 수 있는 수자의 개수와 위치 값을 정의해주는 수 체계다.

사용할 수 있는 숫자의 개수는 해당 진법과 동일하며 사용할 수 있는 숫자는 0부터 해당 진법보다 1적은 수 즉, 10진법은 0부터 9까지의 10개의 숫자를 사용하는 진법 체계인 것이다.

같은 원리로 2진법은 0과 1의 2개의 숫자를 사용하는 진법 체계, 8진수는 0부터 7까지의 8개의 숫자를 사용하는 진법 체계를 의미한다.

10보다 큰 16진법과 같은 숫자에서는 0부터 9까지의 숫자에 이어 A, B, C, D, E, F를 사용한다.

이 중 컴퓨터는 2진법, 8진법, 16진법을 주로 사용한다.

자리 값

수 체계에 있어 중요한 개념 중 하나가 자리 값이다.

모든 수의 각 숫자는 각각의 자리 값을 가지고 있으며, 각 숫자의 자리 값은 그 위치가 의미하는 제곱수를 해당 진법에 적용하면 된다.

10진법 수 11의 10의 자리의 1과 1의 자리의 1을 생각해보면 이해가 편할 것이다.

보통 10진법을 표현할 때 아래와 같이 표현하는 경우가 있다.

123 = 1 * 10^2 + 2 * 10^1 + 3 * 10^0

2진수와 8진수 그리고 16진수도 동일한 방식으로 표현할 수 있다.

1001_{(2)} = 1 * 2^3 + 0 * 2^2 + 0 * 2^1 + 1 * 2^0

123_{(8)} = 1 * 8^2 + 2 * 8^1 + 3 * 8^0

AB123_{(16)} = A * 16^4 + B * 16^3 + 1 * 16^2 + 2 * 16^1 + 3 * 16^0

위의 예시는 실수의 정수부만 다룬 것이고 소수부 또한 같은 원리로 표현할 수 있다.

0.123_{(2)} = 1 * 2^{-1} + 2 * 2^{-2} + 3 * 2^{-3}

0.456_{(8)} = 4 * 8^{-1} + 5 * 8^{-2} + 6 * 8^{-3}

0.AB7_{(2)} = A * 16^{-1} + B * 16^{-2} + 7 * 16^{-3}

위의 2진수, 8진수, 16진수의 예시를 보면 알 수 있듯이 해당 수가 무슨 진법인지 알 수 있도록 오른쪽 하단에 표시한다.

아래 표를 보면 10진수를 2진수, 8진수, 16진수로 어떻게 표현하는지 잘 알 수 있다.

10진수2진수8진수16진수
0000
1111
21022
31133
410044
510155
611066
711177
81000108
91001119
10101012A
11101113B
12110014C
13110115D
14111016E
15111117F


DISQUS 로드 중…
댓글 로드 중…

트랙백을 확인할 수 있습니다

URL을 배껴둬서 트랙백을 보낼 수 있습니다