위의 A B C D 4개의 카드가 있습니다.
여러분은 1 ~ 15 까지의 숫자를 생각한 다음 ABCD 의 카드 중에서 자신이 생각한 숫자가 있는 카드를 답하세요.
예를 들어 12를 생각 했다고 하면 AB 와 같이 말해 주시면 됩니다.
만약 여러분이 ABD를 선택 하셨다면 여러분은 13을 생각하셨을 것입니다.
혹은 AB를 선택하셨다면 12를 생각하셨을 것입니다.
위의 게임은 상대방이 생각한 숫자를 맞추는 카드마술인데요.
이 게임에는 컴퓨터 과학에서 가장 필요로 하는 이진법의 원리가 숨어 있습니다.
이진법에는 0과 1 두개의 숫자만을 이용하는 수 체계입니다.
컴퓨터과학에서 왜 이진법이 중요할까요?
왜냐하면 컴퓨터는 전기 신호를 가지고 동작을 할 수 있는 기계이기 때문입니다.
전압이 높으면 1, 전압이 없으면 0 으로 인식하는 것을 이용해서 전압을 넣고 빼는 동작에 의해 컴퓨터는 입력을 받아 계산을 하고 출력을 하게 됩니다.
그렇다면 여기서 10진법과 2진법의 수의 표현을 알아 보겠습니다.
10진법은 0~9 까지 10개의 수를 이용해서 표현하는 것을 10진법이라고 합니다.
따라서 0,1,2,3,4,5,6,7,8,9 다음의 숫자는 표현을 할 수 없기 때문에 일의 자리에 다시 0 이 오면서 십의 자리에 올림이 발생해서 1이 되어 그 다음의 숫자는 10 이 됩니다.
이러한 원리에 따라 일의 자리,십의 자리,백의 자리... 와 같이 구분이 되는데요.
일의 자리는 진수^0(해당진수10의 0승) 이 되는 것이고 십의 자리는 진수^1(해당진수 10의 1승)이 백의 자리는 진수^2(해당진수 10의 2승) 과 같이 표현이 됩니다.
이와 마찬가지로 이진수에서는 다음과 같이 표현을 합니다.
0,1 다음의 수는 다시 일의 자리(2의0승)는 0 이 되고 2의자리(2의 1승)은 올림이 발생해서 1이 되어 10 이 됩니다.
따라서 10진수와 2진수를 표를 만들어 보면 다음과 같이 확인을 할 수가 있습니다.
10진수 | 2진수 |
0 | 0 |
1 | 1 |
2 | 10 |
3 | 11 |
4 | 100 |
5 | 101 |
6 | 110 |
7 | 111 |
8 | 1000 |
9 | 1001 |
10 | 1010 |
11 | 1011 |
12 | 1100 |
13 | 1101 |
14 | 1110 |
15 | 1111 |
이렇게 표를 만들어 보면 이진수의 오른쪽 부터 왼쪽으로 자리수의 값은 1,2,4,8이 되는 것을 확인 할 수가 있습니다.
(예 1100 - 1 * 8 + 1 * 4 + 0 * 2 + 0 * 1)
이 원리는 10진수에서 오른쪽 부터 왼쪽으로 자리수가 1,10,100,1000 과 같이 10의 거듭제곱으로 이루어지는 것과 같은 이치입니다. (예 1200 - 1 * 1000 + 2 * 100 + 0 * 10 + 0 * 1)
따라서 이진수 값을 10진수 값으로 바꾸는 방법은 오른쪽 부터 해당 자리수에 해당 하는 값을 곱한 후 더해 주면 됩니다.
자 그럼 위의 카드 마술에서 보이는 카드 번호의 값의 이치가 보이시나요?
첫번째 위치의 값이 이진법의 해당 자리수의 값과 동일합니다.^^
이러한 카드를 이용해서 다른 사람의 생각을 쉽게 맞출 수 있는 카드 마술~~~
컴퓨터 과학에서 이용하는 0과 1의 이진법의 이치를 가지고 만든 게임이었네요.^^
여기서 2진법을 10진법으로 변환하기 위해서는 각 자리수에 해당하는 자리수값을 곱한 후 더해 주면 되는데요.
(예 1100 - 1 * 2^3 + 1 * 2^2 + 0 * 2^1 + 0 * 2^0 )
10진법을 2진법으로 변환하는 방법은 10진수를 몫이 0 이 될 때까지 변환하고 싶은 진수로 나누면서 나머지를 역으로 취하여 표현하면 됩니다.
예) 10진수 6 을 2진수로 변환하는 예
거꾸로 읽으면 110(2) 이 됩니다. 이것을 10진수로 변환하면 1*2^2 + 1*2^1 + 0*2^0 = 4 + 2 + 0 = 6 이 됩니다.
꼭 10진법과 2진법의 변환 관계만이 아닌 다른 진법과의 관계도 동일하다는 점...
컴퓨터 과학에서는 이진법도 중요하지만 16진법도 중요합니다.
다음에는 2진법과 16진법에 관한 소개도 해 드리겠습니다.
오늘 하루도 최선을 다하고 있는 우리 학생들을 응원하며 최선을 다한다면 목표는 반드시 이루어질것입니다.^^
인천 서구 원당컴퓨터학원
'강의자료 > 알고리즘 수학' 카테고리의 다른 글
[컴퓨팅 사고력]해시(Hash)테이블 이해하기 (6) | 2021.02.15 |
---|---|
[컴퓨팅 사고력] 피보나치 수열 (5) | 2021.02.01 |
[초등 사고력 풀이비법] 합과 차의 관계를 이용해 해결하기 (295) | 2021.01.28 |
[컴퓨팅 사고력]블록쌓기 게임으로 스택 구조 이해하기 (9) | 2021.01.11 |
[초등 사고력 풀이]복면산 문제 풀이 (8) | 2020.07.23 |