컴퓨터 공학에서 빼놓을 수 없는 것이 10진수, 16진수 ,2진수의 표현방법일 것이다.

특히 컴퓨터 입장에서 생각했을 때 

컴퓨터가 2진수로 데이터를 처리한다는 것은 널리 알려진 사실이다.

사람의 입장에서는 10진수로 모든 것을 보고 판단하고 있다.

하지만 프로그래밍을 하는 입장에서는 이런 다양한 표현방법을 알 필요가 있다.

 

10진수(Decimal)

10진수는 우리가 흔히 사용하는 표현법으로

0~9 사용!

0~9까지 사용하며 영어로는 Decimal이라고 한다.

232를 십진수로 자세한 공식으로 표현하면 아래와 같이 된다.

(10^0*v)+(10^1*v)+(10^2*v)

16진수 (Hex)

16진수는 

0~F 사용!

0123456789 ABCDEF 총 16가지인데

특히 주목할 부분은 ABCDEF 알파벳 대문자가 6가지 추가된다.

10부터 A로 표현되고

11 B

12 C

13 D

14 E

15 F

이런 식이다. 

계산법은

16진수를 10진수로 바꾸는 공식은 

예를 들어 3자리 12B이면 

각 자리수를 아스키 코드로 바꾸고 

각 자리수에 맞게 16제곱하여 아스키코드 값을 더해주면 된다.

(16^0*v)+(16^1*v)+(16^2*v)= decimal value 

12B -> 299

 

또 다른 계산하기 쉬운 방법은 10진수를 16으로 나누어서 역으로 올라가는 방식이다.

 

** 제일 중요한 16진수를 컴퓨터 공학에서 사용하는 이유는..???!!

바로바로 >>>

16진수는 2^4을 표현할 수 있기 때문이다.

 

 

  • 16진법을 2진법으로 바로 변환하려면 각 자릿수를 2진법으로 변환하면 된다.
    예를 들면 25FB16를 0010(2) 0101(5) 1111(F) 1011(B)처럼 끊어서 변환한 다음 전부 붙여주고 앞의 00을 떼준 뒤 100101111110112로 적으면 된다.
  • 반대로 2진법을 16진법으로 바로 변환하려면 1의 자리에서부터 4개씩 끊어서 16진법으로 변환해주면 된다.
    101110101010101010111101000102를 (000)1 0111 0101 0101 0101 0111 1010 0010로 끊어주고 각각 변환하면 175557A216이 된다.

8진수 (Octal)

0~7만 사용!

계산법은 10진수 및 16진수와 동일하고 8^ 형식으로 이어가면 된다.

2진수 (Binary)

0과 1만 사용!

10진수를 2진수로 표현하는 방법은 의외로 간단하다.

10진수의 값을 2로 나눠주면 된다.

몫이 0이 될때까지 나눠주고 나머지를 아래에서 위로 적어주면

2진수로 표현된다.

 

+ Recent posts