CODE 정리글

이번 글에서는 주로 부호(code)에 대한 내용을 다룬다. 저자의 내용전개는 대략 아래와 같다.

  • 옆집친구와 손전등만으로 통신을 할 경우, 부호가 필요하다.
  • 모스부호와 이진부호와의 관계
  • 점자와 이진부호와의 관계

개인적으로 1,2,3 chapter에서는 효율적인 정보전달에 대한 것이 주를 이룬다고 느껴졌다. 여기서 효율적이라고 함은 상대적으로 적은 노력으로 같은 정보를 표현하는 것이다.

Chapter 1: 친한 친구와의 대화

위의 그림처럼 두 친구가 있을 때, 부모님 몰래(소리없이) 서로의 의사를 전달할 수 있는 방법에 대해서 생각해보자. 손전등을 가지고 있다면, 빛을 이용해서 여러가지 시도를 해볼 수 있을 거 같다.

1. 손전등으로 글자를 그리기

가장 먼저 생각해볼 수 있는 것은 손전등의 빛을 활용하여 직접 글자를 그리는 것이다.

위의 그림처럼 이를 전달하는 사람도 정확한 전달이 힘들고, 수신하는 사람도 (아마) 이해하기 힘들 것이다. 비효율적인 통신이라고 할 수 있다.

2. 횟수로 알파벳 정하기

그렇다면, 깜빡임 횟수와 알파벳간의 약속을 만들어보면 어떨까?

횟수 부호
1 a
2 b
3 c

첫 번째 시도보다는 좋았지만, 여전히 더 개선할 여지가 있어보인다. How are you? 라는 것을 전달하기 위해서 너무 많은 깜빡임이 있어야 한다.

3. 모스부호 사용하기

여기서 모스부호라는 것이 등장한다. 모스부호는 위의 이미지와 같이 이루어진 부호체계이다. 횟수로 알파벳을 정하는 방법과 비교해보면 상대적으로 적은 노력으로 의사를 명확히 표현할 수 있다.

모스부호는 점과 선으로 이루어지는데, 점은 빠른 깜빡임 선은 상대적으로 조금 긴 깜빡임으로 표현할 수 있다. 여기서 중요한 의미는 두 가지의 표현방법으로 정보를 전달한다는 것이다.

Chapter 2: 부호와 조합

이번 장에서는 모스부호의 점과 선의 개수와 표현할 수 있는 문자와의 관계를 살펴볼 것이다. 모스부호는 두 가지 표현방식이 있기 때문에 결과적으로는 사용할 수 있는 점과 선의 개수와 표현가능한 문자의 수는 이진법과 관련이 있다.

1개 부호로 나타낼 수 있는 글자

부호 문자
점(.) E
선(-) T

1개 부호만 사용할 수 있다면, 표현할 수 있는 글자는 위와 같다.

2개 부호로 나타낼 수 있는 글자

부호 문자
. . I
- - M
. - A
- . N

2개 부호를 사용할 수 있다면, 표현할 수 있는 글자는 위와 같다.

3개 부호로 나타낼 수 있는 글자

부호 문자
. . . S
. . - U
. - . R
- . . D
- - . G
. - - W
- . - K
- - - O

이렇게 살펴보다보면, 결국 아래와 같은 관계를 파악할 수 있다.

점과 선의 수 부호의 수
1 $2^1$
2 $2^2$
3 $2^3$
4 $2^4$

Chapter 3: 점자와 이진부호

위의 모스부호도 휼륭하게 문자를 표현하는 방법이지만, 훨씬 더 일찍 부호를 통해서 문자를 표현하는 방법을 구축한 사람이 있다. 바로 프랑스의 루이브라이라는 사람이다. 이번 장에서는 점자라는 부호가 문자를 나타내는 방법에 대해서 알아볼 것이다.

기본적으로 위의 이미지처럼 점자는 6개의 구멍으로 구성되어 있고, 여기에 튀어나와 있는지/ 평평한지에 따라서 글자가 표현됩니다. 총 6개의 구멍에 on/off가 있는 것으로 생각해보면 $2^6=64$개의 표현이 가능하다.

위의 점자는 영어권의 점자양식이다.

하지만, 이 역시도 한 단어를 표현하기 위해서, 많은 노력이 필요하다. 이 때 많이 사용되는 단어를 부호화하는 시도가 생겨나게 되고 이를 2기 점자체계라고 하며, 실제 출판사에서는 많이 활용하는 방법이라고 한다.

2기 점자에서는 문맥에 따라 단어단축 형 혹은 문장부호로 활용된다.

또한, 부호의 의미를 숫자에서 문자로 바꿔주는 시프트 부호도 있다. 이 부호 뒤에 나오는 부호는 시프트가 풀릴 때까지 적용된다. 그리고 소문자, 대문자 표시도 할 수 있는 부호를 이스케이프 부호라고 한다.