아카이브/컴퓨터 일반

이진법 - 0과 1의 세계

될성부른떡잎 2014. 12. 16. 22:08

이진법 - 0과 1의 세계

이진법은 0과 1로만 수를 나타내는 방식으로, 독일의 철학자 라이프니츠가 발명한 수체계입니다.

예를들어 10은 1010, 100은 1100100과 같이 나타내는 방식인데요.

컴퓨터 내부에서는 이진법을 사용해 모든 작업을 처리하므로, 컴퓨터 분야에서는 매우 중요합니다.

 


특히 컴퓨터 분야에서 이진법이 중요할까요?

잠시만 생각해보면 쉽게 알수 있는데요.

세가지 질문을 통해서 생각해 보면...

1. 하나의 전선으로 전송할 수 있는 신호는 몇가지가 있을까요?

​설명) 전기가 통할때와 전기가 안통할때. 2가지 신호가 있습니다.

      전기가 통할때는 1, 전기가 안통할때는 0으로 사용합니다.

또한 스위치는 on/off 2가지 신호로 작동합니다.

2. 우리가 실생활에 사용하고 있는 십진법 숫자로 정보를 전달하려면 선 몇가닥이 필요할까요?

​설명) 0~9까지 해당하는 전선 열가닥이 필요합니다.

        10개의 전선에서 하나의 전선에 전기가 통하면 해당 전선의 값으로 십진수 숫자를 파악하게 됩니다.

       하지만 이 방법은 한개의 전기신호가 전송될 때

나머지 9개 전선이 사용되지 않는 낭비가 발생하게 됩니다.


반면 이진법을 사용하게 되면 전선 하나로 전송이 가능합니다.

3. 컴퓨터가 어느 진법을 사용하는게 가장 효율적일까요?

설명​) 이진법을 사용하는게 가장 효율적입니다.


이제 컴퓨터가 이진법을 사용하는 이유가 이해되시나요?

컴퓨터는 0과 1만 알고, 0과 1을 매우 빠른속도로 처리하는 장치라고 생각하시면 된답니다.

 

여기서 ​의문이 생길 수 있습니다.

나는 컴퓨터에 한글로 글자도 입력하고 모니터에도 문자가 출력되는데

어떻게 0과 1밖에 모르는 것이냐??!!

이유는 간단합니다. ​여러분이 쓰는 문자, 숫자가 모두 0과 1로 바뀌어서 컴퓨터에게 전달되고

컴퓨터는 그 바뀐 0과 1들을 읽고 실행하게 됩니다.

이때 컴퓨터가 전달받는 0과 1의 집합을 기계어라고 합니다.

즉​, 컴퓨터는 프로그램으로부터 기계어로 전달받아야만 그 내용을 이해할수 있습니다.

그럼 우리가 컴퓨터에게 어떻게 말하면 컴퓨터가 알아 들을 수 있을까요?

방법은 여러가지가 있습니다.

우선, 기계어로 말씀하시면 됩니다.

방법은 간단하지만 복잡하고 길이도 길고 표현하기도 어렵습니다.

더불어 0과 1로 기껏 작성했는데 중간에 값이 잘못 들어간경우, 잘못된부분을 찾으실수 있으시겠나요??


101010111001100110100101010101010011001101010101010101010101010

1110110101011100110011010010101010101(오타)001100110101101010101

101111000001100110100101010101010011001101010101010101010101010

1010101110011001101001010101010100110011010101010101010101010101


이 방법은 컴퓨터가 바로 이해는 할 수 있지만 인간에게는 너무 잔혹한 방법이에요.

그래서, 만물의 영장인 인간은 고뇌끝에 프로그래밍 언어를 만들게 됩니다.

사람이 프로그래밍 언어의 문법에 맞춰서 표현을 하면 컴파일러, 인터프리터라는

훌륭한 통역사들이 사람이 작성한 프로그래밍 언어기계어로 바꿔줍니다.

컴파일러와 인터프리터의 도움을 받아 인간은 컴퓨터와 비교적 쉽게 대화를 할 수 있게 되었습니다.


​인간의 언어는 전세계 사람들이 미리 약속한 유니코드, 아스키코드를 이용해 

이진수를 약속된 코드표에 맞게 번역하여 보여지게 됩니다.


이 과정을 인코딩 혹은 디코딩이라고 하는데 자세한 내용은 추후에 포스팅할 예정입니다.

이상​ 이진법 - 0과 1의 세계 포스팅을 마치겠습니다.