세상을 숫자로 표현한다면 어떤 마법을 부릴수 있을가 ?
숫자로 세상을 표현할 수 있을까요 ?
가능합니다.
세상의 모든 것을 숫자로 표현할 수는 없지만, 상당히 많은 것들을 수로 표현할 수 있습니다.
예를 들어보죠.
우리나라에서 나란 사람을 숫자로 표현하는 것은 주민등록번호입니다.
내 주머니에 있는 돈이 얼마인지 수로 표현할 수 있습니다. 몇원이란 숫자로 표현 할 수 있습니다.
우리 동네의 버스 정거장을 숫자로 표현할 수 있을까요 ? 표현 가능합니다.
우리나라에서는 각 버스정거장에 고유 숫자를 지정해 놓았습니다.
내가 자주타는 버스도 버스 번호가 있고 그 번호도 숫자 입니다.
지금이 몇시인지도 숫자로 표현한것 입니다. 오늘이 서기 1년 1월 1일 자정부터 몇초가 흘러온 시점인지도
숫자로 표현 가능합니다.
아파트의 단지 내의 우리집도 숫자로 표현할 수 있습니다. XXX동 XXXX 호 와 같은식으로요.
우리는 이미, 아주 많은 세상사에 숫자를 붙여서 사용하고 있습니다.
세상사에 숫자를 매긴다는 것은 어떤 고유한 것을 지정하기 편하기도 하고,
아주 많은 여러개 중의 하나를 지정하기도 편합니다.
오늘이 몇일인지도 숫자로 표현합니다.
각 요일은 숫자가 아닌 이름(월,화,수,목)을 붙여 놓았지만, 오늘이 몇일인지는 숫자를 붙여서 사용하고 있지요.
오늘이 몇일인지를 숫자가 아닌 일일이 이름을 붙여 놓았다면, 상당히 귀찮은 일일겁니다.
서양의 경우는 1월 2월 식이 아닌, 숫자가 아닌 January, February... 등등으로 이름을 붙여 놓기는 하지만, ..
숫자로 달을 부르는게 더 편합니다.
이와 같이 세상에 숫자를 붙이는 것, 세상사를 숫자로 표현하는 것은 은연중에 많이 사용되고 있었습니다.
세상사를 숫자로 표현하는 것은 많은 물건들 중에 하나를 고유하게 지정 한다던가,
지금은 없지만, 앞으로 있을 수 있는 어떤 것들을 지정하는 등에 사용하면 편리합니다.
자.. 그럼 생각해 봅시다..
책을 숫자로 표현할 수 있을까요 ?
사진을 숫자로 표현할 수 있을까요 ?
노래를 숫자로 표현할 수 있을까요 ?
모두 가능합니다.
그게 바로 컴퓨터가 하는 방식입니다.
책을 숫자로 표현하는 것은 어떻게 가능할까요 ?
책에 한글만 있다고 가정을 해보면, 한글은 총 11,172 글자가 가능합니다.
'가'를 숫자 1로 지정하고 '나' 는 2 , '다'는 3 .. 이런 식으로 한글의 각 글자를 숫자로 지정한다면 .
한 권의 책은 , 아주 긴 숫자들로 표현할 수 있습니다.
또는 , 한글은
- 초성: 19개 (ㄱ, ㄲ, ㄴ, ㄷ, ㄸ, ㄹ, ㅁ, ㅂ, ㅃ, ㅅ, ㅆ, ㅇ, ㅈ, ㅉ, ㅊ, ㅋ, ㅌ, ㅍ, ㅎ)
- 중성: 21개 (ㅏ, ㅐ, ㅑ, ㅒ, ㅓ, ㅔ, ㅕ, ㅖ, ㅗ, ㅘ, ㅙ, ㅚ, ㅛ, ㅜ, ㅝ, ㅞ, ㅟ, ㅠ, ㅡ, ㅢ, ㅣ)
- 종성: 28개 (없음 포함, ㄱ, ㄲ, ㄳ, ㄴ, ㄵ, ㄶ, ㄷ, ㄹ, ㄺ, ㄻ, ㄼ, ㄽ, ㄾ, ㄿ, ㅀ, ㅁ, ㅂ, ㅄ, ㅅ, ㅆ, ㅇ, ㅈ, ㅊ, ㅋ, ㅌ, ㅍ, ㅎ) (출처 : 챗 GPT)
로 구성되므로 한글의 각 글자를 3개의 숫자 쌍 (초성, 중성, 종성)으로 표현 할 수도 있습니다.
가령 글자 '가' 는 (1 - ㄱ , 1 - ㅏ , 0 - 받침 없음) 로 해서 (1,1,0) 으로 '나' 는 (3,1,0) 으로 표현할 수도 있겠지요.
이런 식으로 하면 한 권의 책은 아주 긴 " (19,1,4) -한, (1,19,8)-글 , (X,X,X) , (X,X,X) , (X,X,X) , (X,X,X) , (X,X,X) , " 숫자의
모음으로 표현 할 수 있습니다.
사진도 마찬가지 입니다. 음악도 마찬가지 입니다. 모두 숫자로 표현 가능합니다.
이게 바로 컴퓨터가 세상사를 처리하는 방식입니다.
세상사를 숫자로 바꾸어서 표현하고, 이 숫자들을 다루는게 컴퓨터 입니다.
흔히들 디지털이라고도 하지요... 이런 식으로 컴퓨터는 디지털로 세상사를 처리 합니다.
이렇게 세상사를 숫자로 표현해서, 컴퓨터를 이용하면 뭐가 좋을가요..?
컴퓨터는
- 아주 엄청나게 빠른 속도로 숫자 계산이 가능 합니다. (일반 적인 스마트 폰은 초당 10억 ~ 100억번의 연산이 가능합니다.)
- 정확하게 숫자 계산을 합니다. 계산이 틀리는 경우가 없습니다.
- 숫자의 비교가 가능합니다. (2 가 1보다 큰지 판단을 할 수 있습니다. 또는 3 과 3이 같은지를 판단할 수 있습니다. )
- 저장한 데이터는 잊지 않습니다.
사람에 비해서 엄청나게 빠른 속도로 정확히 계산을 하고 저장한 내용을 잊지 않습니다.
숫자에 대해 빠른 속도로 계산을 하고, 숫자들 간의 크고 작음을 판단하고, 저장한 숫자를 잊지 않는다는 것이 뭐가 좋을가요 ?
- 세상사를 숫자로 표현하고,
- 컴퓨터로 숫자화된 세상사에 대해서 계산을 하고 판단을 할 수 있다는 것이 뭐가 좋을가요 ?
한권의 책이 있습니다.
책속에 "사과"라는 단어가 몇번 나오는지 세본다고 생각을 해봅니다.
실제 책을 가지고 사람이, '사과'라는 단어가 몇번 나오는지 세어 본다고 생각하면.. 정말 끔찍한 일입니다.
한권의 책을 숫자화 하고, 그 숫자들을 컴퓨터에 저장하고, 컴퓨터를 이용해서 '사과'라는 단어가
몇번 나오는지 세도록 시키면, 컴퓨터는 몇초 걸리지 정확한 수를 셀 수 있습니다.
- 컴퓨터는 아주 빠른 속도로 숫자에 대한 계산과 판단 ('사과' 라는 단어를 표현한 숫자가 있는지 판단하고, 그때 마다 마다 1을 더하는 동작)을 할 수 있습니다.
사진을 숫자로 표현했을 경우를 생각해보죠. 사진의 파란색을 모두 녹색으로 바꾼다고 생각해보죠.
사람이 한다면 정말 끔직할 것 입니다. 컴퓨터에게 일을 시키다면.. 위의 '사과' 단어를 세는 것과 거의 같습니다.
파란색을 표현하는 숫자인지 판단하고, 그 숫자를 녹색을 표현하는 숫자로 바꾸면 됩니다.
컴퓨터는 엄청난 속도로 항상 정확히 숫자에 대한 판단과 계산을 합니다.
노래도 마찬가지 입니다. 노래의 음들을 모두 한음씩 올리는 것을 생각해보면, 노래를 표현한 숫자들에 모두 1을 더하면 됩니다.
이런식으로 세상사를 숫자로 표현하고 컴퓨터에게 일을 시켜서 이 숫자들을 처리하게 한다면 정말 빠르고, 편리해 집니다.
세상사를 어떻게 숫자로 표현하는지, 그리고 컴퓨터에게 이 숫자들을 어떻게 처리하도록 지시하는 것.
이것이 바로 컴퓨터 프로그래밍(코딩) 입니다.
여러분들은 코딩을 배우면, 알라딘의 램프 요정인 지니를 가지게 되는 것입니다.
내가 반복적으로 해야하는 일, 복잡한 계산 , 데이터를 먼곳으로 보내는 일 등등을 모두 램프의 요정인 지니(컴퓨터)에게 시킬 수 있는 것입니다.
컴퓨터 프로그래밍은 램프의 요정 지니가 어떤일을 할지를 지사하는 것 입니다.
(불행히도, 아직까지는 램프의 요정 지니는 시킨일은 잘 하지만, 사람의 말을 직접 알아듣지는 못합니다. - AI 기술을 이용해서 이 기능도 계속 발전시키고 있습니다.)
세상사를 숫자화해서, 아주 빠른 속도로 숫자를 계산, 판단, 저장, 전송을 하는 컴퓨터에게 처리하도록 시키는 것..
그것이 바로 컴퓨터 프로그래밍 - 코딩인 것입니다.
앞으로의 글은 이 방법에 대해서 하나씩 적어 보도록 하겠습니다.
앞으로 적을 얘기는 위 내용중 컴퓨터에게 다음의 일들을 지시하는 방법에 대한 얘기입니다..
- 어떻게 세상사를 숫자로 표현할지.
- 숫자에 대한 계산은 어떻게 시킬지.
- 숫자에 대한 판단은 어떻게 시킬지.
- 반복되는 일은 어떻게 시키는지.
- 처리할 숫자를 키보드로 입력 받거나, 화면에 출력거나 파일로 저장하는 방법