Skip to content

Computer's internal language structure

1. 언어란 무엇인가?

언어의 뜻은 기호의 집합으로 말할 수 있다. 하지만 의미를 기호로 정의하는 것만으로는 충분하지 않다.
언어가 제대로 작동하려면 의사소통 당사자들이 모두 같은 문맥을 공유해서 같은 기호에 같은 뜻을 부여할 수 있어야 한다.
다시 말하면, 언어는 편의를 제공하기 위한 지름길이자 복잡한 개념을 직접 보여주지 않고 의사소통 할 수 있지만 언제나 문맥을 명확히 식별할 수 있지는 않다.

2. 문자 언어

문자 언어 = 기호를 나열한 것
기호가 들어갈 상자, 상자에 들어갈 기호, 상자의 순서와 같은 구성요소가 문자 언어의 틀을 이룬다고 할 수 있다. 이는 컴퓨터 언어에서도 마찬가지이다.

3. 비트

2진법을 사용한다는 뜻의 '바이너리(binary)' + 숫자를 뜻하는 '디지트(digit)'가 합쳐진 말이다
비트는 2진법을 사용한다. 이 말은 비트 상자에는 모스 부호의 점과 선처럼 두 가지 기호 중 하나만 담을 수 있다는 말이다.

4. 논리 연산

비트의 사용법 중 하나는 "태풍이 오고 있는가?"와 같은 예/아니요 질문에 대한 답을 표현하는 것이다. 이러한 질문에 대한 '예'(ex. 집에 있는다)를 참이라고 표현하고 '아니오'(ex. 소풍을 간다)를 거짓이라고 표현한다. 예/아니오로 답하지 못하는 질문은 한 비트만으로 표현할 수 없다.
다른 비트들이 표현하는 내용들로부터 새로운 비트를 만들어내는 이런 동작을 논리연산이라고 한다.

5. 불리언 대수

대수가 수에 대한 연산 규칙의 집합이라면 불리언 대수는 비트에 대해 사용할 수 있는 연산 규칙의 집합이다.

5-1. [object Object]

  • NOT: 논리적 반대를 의미한다. ex. 거짓인 비트에 NOT을 하면 참이 된다.
  • AND: 둘 이상의 비트에 작용하며 모든 비트가 참이면 참이고 모든 비트가 거짓이면 거짓이 된다.
  • OR: 둘 이상의 비트에 작용하며 한 비트라도 참이면 참이 되고 한 비트라도 거짓이라면 거짓이 된다.
  • XOR: 배타적 OR이라고 부르며 두 값 중 어느 하나가 참이면 참이지만 모두 참이 된다면 거짓이 된다. 즉, 첫 번째 비트와 두 번째 비트가 다른 값인 경우에만 참이 된다. XOR 연산자의 경우 다른 연산을 사용하여 만들 수 있다. ex. a XOR b = (a OR b) AND (NOT(a AND b))