728x90

기수법에 대한 개념은 아래 링크의 포스트에 소개해 두었습니다.

혹시 자세히 알고 싶은시면 들어가서 확인해 보세요.

 

기수법, 수를 세는 진수 체계에 대한 개념과 사용법과 진수 변환하는 방법

 

 

다양한 사유로 사용되는 기수법은 특히 회로설계와 프로그래밍시에 자주 사용됩니다.

대부분 이진법, 8진법, 16진법을 사용합니다.

그래서 엑셀에서는 이들에 대해서 빠른 변환함수를 지원합니다.

이번에 소개할 함수는 많습니다. 하지만 규칙이 있음으로 보면 금방 알 수 있습니다.

 

DEC2BIN(number,[places]) : 십진수(DEC)를 이진수(BIN)로 변환합니다.

DEC2OCT(number,[places]) : 십진수(DEC)를 8진수(OCT)로 변환합니다.

DEC2HEX(number,[places])  : 십진수(DEC)를 16진수(HEX)로 변환합니다.

BIN2DEC(number,[places]) : 이진수(BIN)를 십진수(DEC)로 변환합니다.

BIN2OCT(number,[places]) 이진수(BIN)를 8진수(OCT)로 변환합니다.

BIN2HEX(number,[places]) : 이진수(BIN)를 16진수(HEX)로 변환합니다.

OCT2DEC(number,[places]) : 8진수(OCT)를 십진수(DEC)로 변환합니다.

OCT2BIN(number,[places]) : 8진수(OCT)를 이진수(BIN)로 변환합니다.

OCT2HEX(number,[places]) : 8진수(OCT)를 16진수(HEX)로 변환합니다.

HEX2DEC(number,[places]) : 16진수(HEX)를 십진수(DEC)로 변환합니다.

HEX2BIN(number,[places]) : 16진수(HEX)를 이진수(BIN)로 변환합니다.

HEX2OCT(number,[places]) : 16진수(HEX)를 8진수(OCT)로 변환합니다.

 

  • number : 변환할 정수입니다. 음수도 사용 가능합니다. 십진수를 기준으로 이진수 변환은 -511~511, 8진수 변환은 -2^29 ~ 2^29( - 536,870,912 ~ 536,870,912 ), 16진수 변환은 -2^37 ~ 2^37( -549,755,813,887 ~ 549,755,813,887)의 범위까지 가능합니다. 범위를 벗어나는 경우에는 #NUM! 에러를 반환합니다.
  • [places] : 선택요소로 필요한 최소자리수가 표시됩니다. 최소자리수에서 부족한 경우에는 왼쪽에 0을 추가하지만 넘어가는 경우에는 동작하지 않습니다.
  • 십진수는 DEC, 이진수는 BIN, 8진수는 OCT, 16진수는 HEX로 해서 2를 기준으로 왼쪽의 기수를 입력하면 오른쪽에 해당하는 기수로 숫자를 변환합니다.
  • 16진수의 경우에는 직접 입력할 떄는 문자를 형식으로 ""(쌍따움표)안에 작성해야 합니다.

 

2(two)의 영어발음의 to와 같다는 점을 이용한 함수체계로 단순하지만 편리하게 사용할 수 있습니다.

몇번 사용하다보면 금방 외워서 사용할 수도 있고요.

엑셀을 만드는 제작진의 센스를 볼 수 있는 시스템입니다.

사용역시 간단함으로 단순하게 예시를 들어보겠습니다.

 

사용예시

 

320x100

 

반응형
728x90

숫자는 인류의 발명한 개념 중 가장 위대한 것이 아닌가 합니다.

현대에도 가장 많이 사용하는 십진법에는 0~9까지 숫자에 자리수를 사용해서 수를 표현합니다.

진수체계에서는 수가 늘어나면 자리수를 늘려 계속 늘어날 수 있어 무한이라는 개념을 제공합니다.

 

1. 진수의 개념

 

십진수로 적어서  67,543이라는 큰 수가 있다고 하겠습니다.

자리수로 나누면 60,000 + 7,000 + 500 + 40 + 3로 나타낼 수 있습니다.

숫자들의 순서는 같지만 자리수에 따라 크기가 달라지는 시스템입니다.

10의 지수를 이용해서 아래처럼 표기할 수도 있습니다.

 

십진수

 

8진수의 경우에는 0 ~ 7까지 표기한 후에 자리수가 올라가게 됩니다.

16진수는 0 ~ 15까지 표기하고 자리수가 올라가게 됩니다.

16진수 같은 경우 10이 넘어도 숫자표기가 이어져야하여 알파벳을 많이 사용합니다.

 

 

위에 67,543은 16진수로 나타내면 10,7D7이 됩니다.

 

16진수로 표시하기

 

 

2. 진수를 변환하는 방법

 

진수의 변환을 위해서는 조금 복잡한 절차가 필요합니다.

7,762를 8진수와 16진수로 변환해 보겠습니다.

 

① 8진수로 변환하기

 

먼저 자리수를 구합니다.

7,762는 8^4보다는 크고 8^5보다 작으니까 5자리 수입니다.

 

(자리수 구하기)
7,762 > 8^2 = 64
7,762 > 8^3 = 512
7,762 > 8^4 = 4,096
7,762 < 8^5 = 32,768

 

그리고나서는 숫자를 8^4 → 8^3 → 8^2 → 8^1 순서로 분해하면 됩니다.

큰수로 나누고 나머지로 다시 나눕니다.

 

(변환하기)
7,762 ÷ 8^4 = 1(몫) | 3,666(나머지)
3,666(나머지) ÷ 8^3 = 7(몫) | 82(나머지)
82 (나머지) ÷ 8^2 = 1(몫) | 18 (나머지)
18 (나머지) ÷ 8^1 = 2(몫) | 2 (나머지)

(십진수) 7,762는 (8진수) 17,122가 됩니다.

 

 

 

② 16진수로 변환하기

 

먼저 자리수를 구합니다.

7,762는 16^3보다는 크고 16^4보다 작으니까 4자리 수입니다.

 

(자리수 구하기)
7,762 > 16^2 = 256
7,762 > 16^3 = 4,096
7,762 < 16^4 = 65,536

 

 

그리고나서는 숫자를 16^3 → 16^2 → 16^1 순서로 분해하면 됩니다.

큰수로 나누고 나머지로 다시 나눕니다.

 

(변환하기)
7,762 ÷ 16^3 = 1(몫) | 3,666(나머지)
3,666(나머지) ÷ 16^2 = E(몫) | 82(나머지)
82 (나머지) ÷ 16^1 = 5(몫) | 2 (나머지)

(십진수) 7,762는 (16진수) 1E52가 됩니다.

 

 

320x100

 

 

3. 진수체계의 사용

 

항상 십진수만 쓰지는 않는데요.

과거 아시아에서는 나머지가 많은 60진법을 사용해서 무역을 했다고 합니다.

현대에 살아가는 우리도 생각보다 다양한 진수를 사용하고 있습니다.

 

  • 2진수 (Binary System): 0과 1 두 개의 숫자만 사용하는 체계입니다. 컴퓨터에서 데이터를 표현하는 데 주로 사용됩니다. 예를 들어, 101은 1 * 2^2 + 0 * 2^1 + 1 * 2^0로 표현됩니다.
  • 8진수 (Octal System): 0부터 7까지의 숫자를 사용하는 기수 체계입니다. 주로 컴퓨터 프로그래밍에서 사용되었지만 현재는 비교적 덜 사용됩니다.
  • 16진수 (Hexadecimal System): 0부터 9까지의 숫자와 A부터 F까지의 여섯 개의 알파벳을 사용하여 숫자를 표현합니다. 프로그래밍이나 회로 설계, 색상표현등 여러분야에서 자주 사용됩니다.
  • 24진수(24 decimal System) : 하루는 24시간으로 표현합니다. 이 경우에는 알파벳을 사용하지 않고 십진법과 동일하게 표기하며 36시간의 경우 1일 12시간으로 자연스럽게 사용합니다.
  • 60진수(Sexagesimal) : 대표적으로 분과 초를 나타내는 단위로 시간과 각도에서 사용됩니다. 이 경우에는 알파벳을 사용하지 않고 십진법과 동일하게 표기합니다.

 

 

 

 

반응형

+ Recent posts