-
컴퓨터는 왜 2진법을 쓸까?컴퓨터구조 2020. 5. 28. 15:09
2진수와 컴퓨터
- 컴퓨터는 10진수를 2진수로 바꿔서 처리합니다. 여기서 기본적인 의문점이 하나 듭니다. 왜 컴퓨터는 2진법을 사용할까요? 그전에 기초 지식을 먼저 살펴보겠습니다.
2진법이란?
- 사람은 기본적으로 10진법을 사용하고 있습니다. 10진법은 0~9까지 숫자를 사용하여 즉 10가지의 숫자를 이용해서 수를 나타내는 진법입니다.
- 2진법이란 0과 1을 사용하여 수를 나타내는 진법입니다. 아래의 표는 10진법과 2진법의 수를 나타낸 형태입니다.
10진법2진법
1 0001 2 0010 3 0011 4 0100 5 0101 6 0110 7 0111 8 1000 9 1001 10 1010 2진법에서 10진법으로, 10진법에서 2진법으로
- 위의 표를 보면 알 수 있다시피 2진법을 10진법으로 고치기 위해선 각 자리수에서 1을 뺀 값을 2에 승수로 표현하여 계산해보면 됩니다. 예를들어 6의 경우 2의 (첫번째(1) 자리수 - 1)0승 곱하기 0, 2의 (두번째(2) 자리수 - 1)1승 곱하기 1, 2의 (세 번째(3) 자리수 - 1)1승 곱하기 1 을 한 값을 다 더 하면 6 이 나옵니다.
- 10진법을 2진법으로 바꾸기 위해선 2로 나눈 나머지를 각 자리수 순서에 맞게 놓아주면 됩니다.
왜 2진법을 사용할까?
- 컴퓨터 내부에는 수많은 트랜지스터가 존재합니다.
- 트랜지스터는 전기 신호로 작동하는 스위치라고 생각하면 되고, 전기 신호가 들어오면 켜지고 들어오지 않으면 꺼집니다.
- 이때 전기 신호가 들어오면 ON 이고 그렇지 않으면 OFF 입니다. 각각 컴퓨터는 이를 1과 0으로 인식합니다.
- 이렇게 ON과 OFF 로 컴퓨터는 인식을 하고 계산을 하기 때문에 2진법을 사용합니다.
3진법은?
- 현대의 컴퓨터가 2진법을 사용하는 이유는 오류의 최소화와 효율성(비용, 시간) 때문입니다.
- 컴퓨터는 전기를 활용하여 수많은 트랜지스터 ON/OFF 하는 행위를 반복합니다.
- 만약 3인상의 N 진수를 사용하게 되면, 전기적 신호는 N 가지의 경우로 구분됩니다.
- 그렇게 되면, 오류 발생량과 소요 시간 및 비용은 증가하게 됩니다.
- 결과적으로 연산속도는 빨라질 수 있지만, 전기적 신호를 구분하는데 비 효율적이게 되는것입니다.
- 따라서 2진수 기반으로 컴퓨터 시스템이 운영될 때, 오류를 최소화 하고 효율적인 시스템 구축이 가능해집니다.
양자 컴퓨터는?
- 양자 컴퓨터는 비트가 아닌 큐비트를 사용합니다.
- 중첩현상이란?
- 앞면과 뒷면이 동시에 엉켜 있는 듯한 기묘한 상태
- 이렇게 여러 가능성을 동시에 갖는 성질
- 양자컴퓨터의 큐비트는 이 중첩 현상을 활용합니다.
- 큐비트는 0과 1의 값을 동시에 갖습니다. 따라서 큐비트가 한개면 2개를 동시에 계산합니다.
- 따라서 큐비트가 많으면 많아질 수록 2의 승수(기하급수) 적으로 계산합니다.
- 예를들어 일반컴퓨터의 8비트와 양자컴퓨터의 8큐비트를 비교해보겠습니다.
- 일반컴퓨터의 8비트는 256개의 조합이 가능하지만 실제로는 256개중 1개만 선택해서 계산합니다.
- 반면에 양자컴퓨터는 한번에 256개를 계산할 수 있습니다.
- 숫자로 해서 잘 이해가 안된다면 이렇게 얘기해볼 수 있습니다.
- 미로를 푸는데 일반컴퓨터는 경로 하나하나를 다 찾아야 합니다.
- 양자 컴퓨터는 각 경로를 한꺼번에 찾아볼 수 있습니다.
참조
'컴퓨터구조' 카테고리의 다른 글
컴퓨터의 소숫점 문제 (0) 2022.03.01