목차
- 친한 친구와의 대화
- 부호와 조합
- 점자와 이진 부호
- 전등을 분해해 봅시다
- 다른 방법을 찾아봅시다
- 전신과 릴레이
- 우리가 사용하는 열 개의 숫자들
- 십진수 이외의 것
- 비트, 비트, 비트
- 논리와 스위치
- 빌 게이츠? 논리 게이트!
- 이진 덧셈기
- 그렇다면 뺼셈은 어떨까요?
- 피드백과 플립플롭
- 바이트와 16진수
- 메모리를 만들어봅시다
- 혼자서 움직이는 컴퓨터
- 주판에서 반도체까지
- 두 가지 고전적인 마이크로프로세서들
- 아스키코드와 문자의 변환
- 버스에 올라탑시다
- 운영체제
- 고정소수점과 부동소수점
- 고수준 언어와 저수준 언어
- 그래픽 혁명
책 소개
CODE 코드 - 예스24
CODE, 하드웨어와 소프트웨어에 숨어 있는 언어손전등, 영국의 미국 침략, 검은고양이, 시소가 컴퓨터와 어떤 연관성을 가지고 있을까요?이 책 『CODE』에서는 다른 사람들과 의사소통하기 위하여
www.yes24.com
부호와 조합
모스부호는 뒤에서 좀 더 살펴볼 새뮤얼 핀리 브리즈 모스(Samuel Finley Breeze Morse; 1791-1872)가 발명하였습니다. 모스부호의 발명은 뒤에서 좀 더 살펴볼 전신(Telegraph)의 발명과 매우 밀접하게 연관되어 있지요. 모스부호가 부호의 속성을 아는 데 좋은 길잡이가 되었듯, 전신 역시 컴퓨터 하드웨어를 이해하는 데 좋은 길잡이가 될 수 있습니다.
모스부호의 경우 메시지를 보내는 것이 받는 것보다 쉽다는 것은 자명합니다. 모스부호를 기억하지 못한다 하더라도 다음과 같이 알파벳순으로 정렬되어 있는 표를 이용하면 되지요.
모스부호를 수신하고 이를 해석할 때는 전달받은 점과 선의 조합에서부터 글자를 풀어내는 과정이 필요하기 때문에, 모스부호를 보내는 것보다 훨씬 어려울뿐더러 시간도 많이 걸립니다. 예를 들어, '선-점-선-선'을 받아서 이것이 'Y'를 의미한다는 것을 알아낼 때까지 위의 표에서 글자마다 찾아가며 패턴에 맞는지 확인하는 과정을 거쳐야 하겠지요.
문제는 다음과 같이 변환 방법을 알려주는 표는 있지만
문자 -> 모스부호의 점과 선
다음과 같이 그 반대로 해석할 수 있도록 해주는 표는 없다는 데 있지요
모스부호의 점과 선 -> 문자
하나씩 천천히 시작해 보죠, 모스부호 점 하나와 선 하나만으로 표현할 수 있는 문자는 단 두 개, 바로 E와 T입니다.
점 | E |
선 | T |
두 개의 점 혹은 선을 조합하는 경우 I, A, N, M이라는 4개의 문자를 더 표현할 수 있습니다.
점점 | I | 선점 | N |
점선 | A | 선선 | M |
세 개의 점 혹은 선을 조합하는 경우 다음과 같이 8개의 문자를 더 표현할 수 있겠지요.
점점점 | S | 선점점 | D |
점점선 | U | 선점선 | K |
점선점 | R | 선선점 | G |
점선선 | W | 선선선 | O |
네 개의 점 혹은 선을 조합함으로써 16개의 문자를 더 표현할 수 있으며, 숫자와 문장부호를 제외하고 생각한다면 이로써 모든 문자를 표현할 수 있게 되었습니다.
점점점 | H | 선점점점 | B |
점점점선 | V | 선점점선 | X |
점점선점 | F | 선점선점 | C |
점점선선 | Ü | 선점선선 | Y |
점선점점 | L | 선선점점 | Z |
점선점선 | Ä | 선선점선 | Q |
점선선점 | P | 선선선점 | Ö |
점선선선 | J | 선선선선 | S |
이 4개의 표에서 각각 2개, 4개, 8개, 16개의 문자를 표현할 수 있었으니 모두 합쳐서 30개의 문자를 표현할 수 있었습니다. 이는 영문 알파베에 필요한 26자보다 많은 것이지요. 따라서 4개 부호들의 조합이 표현된 마지막 표에서는 4개의 강조 문자들이 존재함을 알 수 있지요.
이렇게 만들어진 네 개의 표는 누군가 여러분에게 모스부호를 전송하였을 때 이를 매우 쉽게 해석할 수 있도록 도와줄 것입니다. 어떤 문자를 나타내는 부호를 수신하면, 일단 점과 선이 몇 개인지 알아내서, 해당 표를 참조하면 되는 것이지요. 표에는 각각 모든 조합이 점인 경우와 왼쪽 위에, 모든 조합이 선인 경우가 오른쪽 아래 배치되어 있습니다.
앞에서 설명된 네 표의 크기를 살펴보면 뭔가 패턴이 있는 것 같지 않나요?
점과 선의 수 부호의 수
1 2
2 4
3 8
4 16
네 표는 각각 이전 테이블의 두 배에 해당하는 부호를 가지고 있으므로 처음 표에 2개의 부호가 있었다면, 두 번째 표는 2x2개의 부호를, 세 번째 표는 2x2x2개의 부호를 가집니다. 이런 방법으로 다시 표현해 봅시다.
점과 선의 수 부호의 수
1 2
2 2x2
3 2x2x2
4 2x2x2x2
위와 같이 그 숫자 자체를 곱하는 거듭제곱의 경우를 표현하기 위해서 지수를 사용할 수 있습니다.
점과 선의 수 부호의 수
1 2^1
2 2^2
3 2^3
4 2^4
이제 표가 아주 간단해졌습니다. 표현할 수 있는 부호의 수는 전달된 점과 선의 수를 2의 승수로써 사용하면 얻을 수 있는 것이지요.
이제 앞의 표를 아래와 같이 하나의 식으로 표현할 수 있을 것 같습니다
표현할 수 있는 부호의 수 = 2^점과 선의 수
6개 점과 선의 조합까지 이용하는 경우 64(2x2x2x2x2x2 또는 2^6) 개의 부호가 추가되어 총 2+4+8+16+32+64 또는 126개의 부호를 나타낼 수 있습니다.
점과 선의 수 부호의 수
1 2^1 = 2
2 2^2 = 4
3 2^3 = 8
4 2^4 = 16
5 2^5 = 32
6 2^6 = 64
7 2^7 = 128
8 2^8 = 256
9 2^9 = 512
10 2^10 = 1024
모스부호는 점과 선이라는 두 가지 요소로 이루어져 있으므로 이진(binary; 사전적 의미로는 '2개로 구성된'이란 뜻입니다.) 부호라 이야기할 수 있습니다. 이것은 던졌을 때 앞면과 뒷면만 나올 수 있는 동전과 비슷하지요. 동전과 같이 두 가지 성질만 가지는 이진 개체나 모스부호와 같은 이진 부호는 항상 2의 거듭제곱수로 그 결과를 표현할 수 있습니다.
지금까지 우리가 이진 부호를 분석하면서 했던 일들은 수학에서 조합론(combinatorics) 혹은 조합적 분석(combinatorial analysis)이라 말하는 분야의 아주 간단한 예라고 할 수 있습니다. 전통적으로 조합적 분석은 확률과 통계분야에서 가장 많이 사용되고 있습니다. 동전과 주사위 등을 던질 때 가능한 조합이 얼마나 되는지 알아낼 수 있기 때문입니다. 하지만, 부호가 어떻게 조합되고 분석되는지 이해하는 데도 도움이 될 것 같습니다.
함께 읽으면 좋은 글
순열(Permutation)과 조합(Combination)
순열(Permutation)이란? 순열이란, 쉽게 말해서 순서를 정해서 나열하는 것을 말한다. 서로 다른 n개에서 r개를 택하여 일렬로 나열할 때, 첫 번째 자리에 올 수 있는 것은 n가지이고, 그 각각에 대하
jettstream.tistory.com
'프로그래밍' 카테고리의 다른 글
CODE - The Hidden Language of Computer Hardware and Software를 읽고서 (3) (8) | 2023.08.27 |
---|---|
CODE - The Hidden Language of Computer Hardware and Software를 읽고서 (2) (6) | 2023.08.27 |
CODE - The Hidden Language of Computer Hardware and Software를 읽고서 (44) | 2023.08.19 |
Dapper Vs Entity Framework 비교 (8) | 2023.08.09 |
프로그래밍에서 주소(Addresses)와 데이터(Data)는 어떻게 다른가? (4) | 2023.08.08 |
댓글