자격/임베디드기사

[임베디드기사] [필기] 수의표현(2진수 / 8진수 / 16진수 / 10진수)

 

진수표현

 

진수라는 것은 수 체계에서 수를 어떻게 표현할 것인지에 대한 개념이다. 이미 우리가 알고 있는 것은 통상적으로 사용하는 10진법과 컴퓨터 이해 체계에 존재하는 2진법이다.

컴퓨터의 정보표현단위는 이진법으로 이루어져 있다. 즉 우리가 알고 있는 정보의 저장은 사실 저장공간에 무수히 많은 01로 이루어져 있다고 할 수 있겠다.


8진법과 16진법

 

자연스럽게 생각하면 3진법과 4진법도 생각을 할 수 있을 것이다. 물론 표현방식에 따라 n진법은 자연수공간에서 무수히 존재할 수 있으나 우리는 8진법 / 16진법만 더 알아볼 것이다.

두 가지만을 더 알아보는 이유는 당연히 자주 사용하기 때문인데, 특히나 16진법의 경우 2진법을 효율적으로 압축하여 이해도를 증진시키기 유용하기 때문에 프로그래밍의 단위처럼 여겨지고는 한다. 컴퓨터 세상에서 2진수는 바이너리라고 부르며 표현 시 2진수로 되어있다는 것을 알리기 위해 수 앞에 0b를 붙이는 것을 관례로 한다. 8진법으로 표현된 값은 옥텟(Octet)값이라고 칭하며 0o를 붙이는 것을 관례로 한다.16진수로 표현된 값을 헥스(Hex)값으로 칭하며 0x를 붙이는 것을 관례로 한다. 십진수는 Decimal이고 0d지만 보통 생략하는 것을 관례로 한다.

 

10진수와의 변환

10진수와 n진수를 변환할 때는 다음과 같은 일반식을 주로 사용한다. 반대로 10진수를 N으로 변환할때는 나눗셈을 사용한 방식이 일반적이지만, 아래 수식을 활용해서 올바른 수를 대입하도록 계산하면 된다.


정리

컴퓨터와 사람은 사용하는 진수 체계가 다르다. 각각 2진수와 10진수를 사용하고 표현의 압축과 단순화를 위해서 2진수를 3/ 4개씪 묶은 8진수와 16진수가 컴퓨터에서는 자주사용된다.

 

다음시간에는

다음시간에는 디지털 시스템에서 사용되는 기초 논리게이트에 대해서 알아보도록 하겠다.