흔히, 십진법이니, 이진법이니 하는 얘기를 들어본 적이 있을 것이다.
십진법은 0에서 십 이전의 자연수까지 고유의 기호를 쓰다가
십이 되면 기존 기호의 조합으로 수를 넣을 칸을 한 칸 더 만드는 식이고,
이진법은 0에서 이 이전의 자연수까지 고유의 기호를 쓰다가
이가 되면 십진법과 같은 시스템으로 돌아가는 방식이다.
십진법
0 1 2 3 4 5 6 7 8 9
이렇게 고유의 기호를 만들고
9 다음의 수를 한 칸에서 한 칸 더한 두 칸을 넣어서
1과 0의 조합으로 10을 만들어 주는 식이다.
이진법
0 1
1 다음의 수는 10이 되는 식이다.
이런 식으로 진법을 따졌을 때 일진법은 말 할 수 없을 것이다.
( 일진법에 해당하는 단항 기수법이 있긴하다.
그런건 기호의 조합이 아니라 작대기만 긋는 행위라
앞의 표기 체계와는 좀 다른 걸로 봐야 한다. )
1 이전의 수가 0인데, 0으로 무슨 수를 만들겠는가?
0말고 만들 수 있는게 없다.
그러므로 n진법을 정할 때, 최소가 될 수 n은 2가 될 것이다.
그러면 n진법에 대해서 생각해보자.
n이전의 수를 m이라고 했을 때,
0 1 ... m
이런 기호를 만들 수 있을 것이다.
m 다음에 n이 되는데, n진법에서는 n = 10 이 된다.
2*n을 하면, n이 2보다 크면, 20으로 표기할 수 있다.
이런 식으로 두 자리 수를 표기하다가
n진법에서 두 칸에서의 조합의 마지막 수인 mm 의 다음 수를 정해야 하는데,
한 자리 더해서 100으로 정할 수 있을 것이다.
또, m*n = m*10 =m0 인데,
m*n + 1*n= m*10 + 1*10 = (m+1)*10
10 = n = m+1이므로,
10*10 = 10^2 = 100
이런 식으로 될 것이다.
100 = 10^2 이 됨을 알 수 있다.
여기서 10이면, 10^1, 100 = 10^2
1000 = 10*10^2 =10^3 이렇게 되는데,
자릿수는 10에 붙은 승수에서 하나를 더하지만,
1 뒤의 0이 몇 개 붙은 수와 10에 붙는 승수가 같음을 알 수 있다.
그러면, 10^k 가 1 뒤에 붙은 0의 수가 k 개, k+1 자리수라고 하자.
10...0 <- 0 이 k개 있음
10^(k+1) = 10 * 10^k 이다.
10 * 10^k = (m+1) * 10...0
= m0...0 + 10...0 = 100...0 <- 0이 k+1 개 있음.
즉, 10^n ( n이 0을 포함한 임의의 자연수 )이면,
1 뒤에 0이 n개가 붙게 된다.
여기서 임의의 0을 포함한 자연수 N을 생각하면,
N = a(l) * n^l + ... + a(1) * n^1 + a(0) * n^0
a(0) , a(1), ... , a(l) 은 0에서 n-1까지의 임의의 정수
이런 식으로 표현할 수 있을 것이다.
N을 P=aQ+r ( 0=< r < a) ( 각 기호는 0을 포함한 자연수 )
이런 형식으로 나타내는 걸 반복을 해보자.
N = a(l) * n^l + ... + a(1) * n^1 + a(0) * n^0
을 n으로 묶어보면,
N = ( a(l) * n^l + ... + a(1) * n^1 ) + a(0) * n^0
= p * n + a(0)
이렇게 나타낼 수 있다.
N을 n으로 나눴을 때, 몫은 p이고 나머지는 a(0) 가 된다.
괄호의 값은 p*n 이므로
p = a(l) * n^( l-1) + ... + a(1)
이렇게 나타낼 수 있다.
p도 n으로 나눠보자.
p = ( a(l) * n^( l-1) + ... )+ a(1)
= q*n + a(1)
이렇게 나타낼 수 있으면,
나머지가 a(1)이 나타난다.
여기까지 과정을 간단히 나타내보자.
이런 식으로 나타낼 수 있을 것이다.
이런 과정을 계속 반복하여 밑의 수가 n보다 작은 수가 나올 때 까지 가보자.
이런 식으로 가능 할 것이다.
N = a(l) * n^l + ... + a(1) * n^1 + a(0) * n^0
와
화살표 방향으로의 순서를 보면,
일치한다는 것을 알 수 있다.
즉, 자연수 N을 n진법으로 나타내고자 하면,
저런 방법으로 나타낼 수 있다.
기호로 얘기하니 와닿지 않으니
십진법을 이진법으로 나태냄으로써 파악해보자.
35를 2진법으로 나타내보면,
35 = 1*2^5 + 0*2^4 + 0*2^3 + 0*2^2 + 1*2 + 1*1
이렇게 나타낼 수 있고,
100011 ( 이진법 ) 이렇게 나타낼 수 있다.
어떤 수를 n진법으로 나타내고 싶으면,
계속 n으로 나눠서 나타내면 된다.
음수는 여기다 -를 붙이면 되니 정수에 대하여 n진법으로 나누는 일은 해결 되었다.
유리수의 n진법은 다음 시간에 올리겠다.
'교육 > 수알못시리즈' 카테고리의 다른 글
실수를 선으로 나타낼 수 있는가? Can real number be expressed as a line? (0) | 2020.01.31 |
---|---|
유리수의 n 진법 체계 n-ary numeration system of rational number (0) | 2020.01.15 |
(a+b)^n (0) | 2020.01.08 |
0^0=? , 0!=? (0) | 2020.01.07 |
얼마나 많은 함수를 만들 수 있는가? How many functions can we make? (0) | 2020.01.01 |