만약 우리가 숫자로만 구성된 주소를 각 집에 부여한다고 생각해보자. 그럼 주소의 길이가 매우 중요하게 된다. 왜냐하면 주소의 길이에 따라 부여할 수 있는 주소의 개수가 결정되기 때문이다.
위의 그림과 같이 우리가 4자리 숫자로 된 주소 체계를 사용한다면, 총 몇 개의 주소를 만들 수 있을까?
정답은 10,000개이다.
왜냐하면 각 자리에는 0부터 9까지 쓸 수 있기 때문에, 0000~9999까지 주소를 만들어 낼 수 있기 때문이다.
울란바토르에는 9개의 구가 있다. 만개의 주소를 9개구에 있는 각 집에 어떤 방식으로 나눠줄 수 있을까?
가장 쉽게 생각할 수 있는 것은 네 자리 주소를 구 주소와 개별집주소로 나눠서 사용하는 방법이다.
먼저 우리는 맨 앞의 한자리를 구 주소로 나머지 세 자리를 개별집주소로 사용할 수 있다. 이렇게 되면 구는 0에서 9까지 모두 10개를 만들 수 있게 되고, 각각의 구에는 000에서 999까지 총 1000개의 집들이 들어갈 수 있다.
그런데 만약 구의 수가 10개가 넘어가면 어떻게 할까? 우리는 두 가지 방법을 생각할 수가 있다. 첫 번째는 4자리로 된 주소체계를 늘려서 5자리로 만들면 된다.
그러면 구를 00에서 99까지 100개를 만들 수 있게 된다. 이 방법은 효과적이지만, 기존의 주소체계를 모두 바꿔야 한다는 부담이 따른다.
그럼 기존 주소체계를 유지하면서 구주소의 개수를 늘리는 방법이 있을까?
있다. 집주소로 사용하고 있던 3자리 중에서 한자리를 가져와 구주소로 사용하면 된다. 이렇게 되면 구주소를 위해서 두 자리, 그리고 집 주소를 위해 두 자리를 사용해서 전체 주소를 구성할 수 있다.
이 방법을 쓰면 단점이 하나 있는데, 만들 수 있는 구의 숫자는 00부터 99까지 모두 100개의 구를 만들 수 있으나, 각 구에는 00부터 99까지 모두 100개의 집만이 주소를 가질 수 있게 된다.
극단적으로 구의 숫자를 늘리고자 하여 구의 주소를 위해 세 자리까지 사용하게 되면, 000에서 999까지 모두 1000개의 구를 만들 수 있지만, 각 구에는 오직 0부터 9까지 모두 10개의 집에만 주소를 줄 수 있게 된다.
이런 4자리 주소체계를 단지 울란바토르 뿐만 아니라 다른 도시도 사용한다고 생각해보자. 그럼 도시마다 구주소를 몇자리로 할지 결정해야 한다.
예로 든 울란바토르는 9개의 구가 있기 때문에 첫 한자리만 구주소로 사용하면 된다.
그런데, 울란바토르에서 300km 떨어져 있는 도시인 다르항에서는 앞의 두 자리를 구주소로 뒤의 두 자리를 개별집주소로 사용한다고 해보자.
그렇다면 다르항에는 몇 개의 구가 만들어질 수 있을까?
정답은 10개이다. (100개가 아니다)
왜 그럴까?
그 이유는 첫 자리 주소 중에서 0부터 8까지 9개는 울란바토르시에서 이미 사용하고 있기 때문이다. 따라서 다르항은 첫 번째 주소를 모두 9로 시작하는 구주소를 10개까지 만들 수 있다.
90, 91, 92, 93, 94, 95, 96, 97, 98, 99
우리는 9012라는 주소를 보면 이것은 다르항에 있는 첫 번째(0번) 구의 12번지라는 것을 알 수 있다.
이것을 좀 더 읽기 쉽게 표시하면 9012/2라고 쓸 수 있다. 여기서 /2는 앞의 두자리가 구주소라는 의미이다.
전체집주소/구주소자릿수
그렇다면 1208은 어떻게 표시할 수 있을까?
정답은 1208/1이다. 1이라는 의미는 울란바토르시에 있는 구라는 의미가 포함되어있고, 울란바토르시는 앞의 한자리만을 구주소로 사용하기 때문이다.
댓글 없음:
댓글 쓰기