바이너리 란 무엇이며, 왜 컴퓨터가이를 사용합니까?
컴퓨터는 인간이하는 것처럼 단어 나 숫자를 이해하지 못합니다. 최신 소프트웨어를 사용하면 최종 사용자가이를 무시할 수 있지만 컴퓨터의 가장 낮은 레벨에서는 모든 상태가 켜기 또는 끄기의 두 가지 상태 중 하나에 등록되는 이진 전기 신호로 표시됩니다. 복잡한 데이터를 이해하려면 컴퓨터에서 이진 코드로 인코딩해야합니다..
바이너리는 기본 2 숫자 시스템입니다. 기본 2는 컴퓨터가 이해할 수있는 켜기 / 끄기 상태에 해당하는 2 자리 숫자 1과 0 만 있음을 의미합니다. 10 진수 시스템 인 기본 10에 익숙 할 것입니다. 십진수는 0에서 9까지의 10 자리 숫자를 사용하고 마지막 숫자 (1, 10, 100 등)보다 10 배 더 가치가있는 두 자리 숫자로 구성됩니다. 바이너리는 비슷합니다. 각 자릿수는 마지막 자릿수의 두 배가됩니다..
이진수 계산
이진수에서는 첫 번째 숫자가 십진수로 1이됩니다. 두 번째 자릿수는 2, 3은 4, 4는 8 등으로 두 배가됩니다. 이들 모두를 더하면 10 진수로 표시됩니다. 그래서,
1111 (이진수로) = 8 + 4 + 2 + 1 = 15 (십진수로)
0을 계산하면 4 개의 이진 비트에 대해 16 개의 가능한 값을 얻을 수 있습니다. 8 비트로 이동하면 256 개의 가능한 값을 가질 수 있습니다. 소수점 이하 4 자리수로 10,000 개의 가능한 값을 제공하므로 훨씬 더 많은 공간을 차지합니다. 우리가 계산 시스템을 재발 명하는 데 어려움을 겪고있는 것처럼 보일지 모르지만, 컴퓨터는 소수를 이해하는 것보다 훨씬 나은 바이너리를 이해합니다. 물론 바이너리는 더 많은 공간을 차지하지만 우리는 하드웨어를 가지고 있습니다. 그리고 논리 처리와 같은 일부 작업의 경우 바이너리가 십진수보다 낫습니다..
프로그래밍에도 사용되는 또 다른 기본 시스템이 있습니다 : 16 진수. 컴퓨터가 16 진수로 실행되지는 않지만 프로그래머는이 코드를 사용하여 코드를 작성할 때 사람이 읽을 수있는 형식으로 이진 주소를 나타냅니다. 이것은 두 자리의 16 진수가 전체 바이트를 나타낼 수 있기 때문입니다. 이진수는 8 자리입니다. 16 진수는 10 진수와 마찬가지로 0-9를 사용하고 A부터 F까지의 문자를 사용하여 추가 6 자리를 나타냅니다.
그렇다면 왜 컴퓨터가 바이너리를 사용해야합니까??
짧은 대답 : 하드웨어 및 물리학 법칙. 컴퓨터의 모든 숫자는 전기 신호이며 계산 초기에 전기 신호는 매우 정밀하게 측정하고 제어하기가 훨씬 더 어려웠습니다. 음전하를 나타내는 "on"상태와 양전하를 나타내는 "off"상태를 구별하는 것이 더 합리적입니다. 전자가 음전하를 띠고 있기 때문에 "오프"가 양전하로 표시되는 이유를 모르는 사람들을 위해 - 전자가 많을수록 음전하가 더 많은 전류를 의미합니다..
그래서 초기의 방 크기의 컴퓨터는 바이너리를 사용하여 시스템을 구축했으며 훨씬 오래되고 부피가 큰 하드웨어를 사용해도 동일한 기본 원칙을 유지했습니다. 최신 컴퓨터는 바이너리로 계산을 수행하는 트랜지스터를 사용합니다. 다음은 FET (Field Effect Transistor)의 모습입니다.
본질적으로 게이트에 전류가있는 경우에만 소스에서 드레인으로 전류가 흐를 수 있습니다. 이것은 바이너리 스위치를 형성합니다. 제조업체는이 트랜지스터를 5 나노 미터 또는 DNA 두 가닥의 크기 정도로 매우 작게 만들 수 있습니다. 이것은 현대의 CPU가 작동하는 방식이며 심지어 온 상태와 오프 상태를 구별하는 문제로 고통을 겪을 수 있습니다 (양자 분자의 기이 한 현상에 좌우되는 분자 크기가 크기 때문 임).
그러나 왜 오직베이스 2?
그래서 당신은 생각할지도 모릅니다. "왜 오직 0과 1 만이야? 단지 다른 숫자를 추가 할 수는 없습니까? "라고 말합니다. 일부는 컴퓨터 구축 방식에서 전통으로 이어지지 만 다른 숫자를 추가하면 현재의 다른 레벨을 구별해야합니다."off "와"on " ""조금은 ""많이 "같은 국가도있다.
여기서 문제는 여러 레벨의 전압을 사용하고자 할 때 쉽게 계산을 수행 할 수있는 방법이 필요하며이를위한 하드웨어는 바이너리 컴퓨팅을 대신 할 수 없다는 것입니다. 그것은 실제로 존재합니다. 그것은 삼원 컴퓨터라고 불리며, 1950 년대 이래로 주변에 있었지만, 그곳에서의 개발이 중단 된 곳이 거의 있습니다. 삼항 논리는 이진법보다 훨씬 효율적이지만 이진 트랜지스터를 효과적으로 대체 한 사람은 아무도 없거나 적어도 바이너리 트랜지스터와 동일한 작은 크기로 개발하는 작업은 없습니다.
우리가 삼항 논리를 사용할 수없는 이유는 트랜지스터가 컴퓨터에 쌓이는 방식 ( "게이트 (gate)")-그리고 그들이 수학을 수행하는 데 어떻게 사용되는지. 게이트는 두 개의 입력을 받아 연산을 수행하고 하나의 출력을 반환합니다..
이것은 우리에게 긴 대답을 가져다줍니다. 이진 수학은 다른 어떤 것보다 컴퓨터에서 더 편합니다. 부울 논리는 이진 시스템에 쉽게 매핑되며 True 및 False는 켜기 / 끄기로 나타냅니다. 컴퓨터의 게이츠는 불리언 논리로 작동합니다. 두 입력을 받아 AND, OR, XOR 등의 연산을 수행합니다. 2 개의 입력은 쉽게 관리 할 수 있습니다. 가능한 각 입력에 대한 해답을 그래프로 나타낼 경우 진리표라고하는 것이 있습니다.
부울 로직에서 작동하는 2 진 진리표에는 각 기본 작동에 대해 4 개의 가능한 출력이 있습니다. 그러나 3 진 게이트가 3 개의 입력을 가지므로 3 진 진리표는 9 개 이상의 입력을가집니다. 이진 시스템에는 16 개의 가능한 연산자 (2 ^ 2 ^ 2)가 있지만 3 개 시스템에는 19,683 (3 ^ 3 ^ 3)의 연산자가 있습니다. 스케일링은 문제가됩니다. 왜냐하면 3 진수가 더 효율적이기는하지만 지수 적으로 더 복잡하기 때문입니다.
누가 알아? 앞으로 우리는 삼원 컴퓨터가 하나의 분자가되는 것을 볼 수 있습니다. 현재로서는, 세계는 계속 바이너리로 동작 할 것입니다..
이미지 크레디트 : spainter_vfx / Shutterstock, Wikipedia, Wikipedia, Wikipedia, Wikipedia