**언어란 무엇인가
- 모든 언어의 뜻은 기호의 집합으로 인코딩
- 언어가 제대로 작동하려면 의사소통 당사자들이 모두 같은 '문맥'을 공유해서 같은 기호에 같은 뜻을 부여할 수 있어야한다.
**문자언어
- 문자 언어는 기호를 나열한 것이다.
ex) 맛집이라는 단어는 'ㅁ', 'ㅏ', 'ㅅ', 'ㅈ', 'ㅣ', 'ㅂ'
- 기호들은 다양하게 조합을 이룰 수 있다.
- 또한 기호들은 순서를 가진다
ex) dog, god : 순서에 따라 다른 값을 가지는 기호
- 문자 언어의 틀은 다음과 같은 세가지 구성 요소가 컴퓨터 언어에서도 마찬가지로 적용된다.
1. 기호가 들어갈 상자
2. 상자에 들어갈 기호
3. 상자의 순서
**비트
- 자연어에서는 상자를 문자라고 부른다. 컴퓨터에서는 '비트'라고 한다.
비트는 이진법을 뜻하는 Binary와 숫자를 뜻하는 Digit가 합쳐진 것이다.
- 비트는 이진법을 사용, 2가지 기호를 활용하기에, 순서가 중요하다
**논리연산
- 다른 비트들이 표현하는 내용으로부터 새로운 비트를 만들어내는 동작을 논리연산이라고 한다.
- 불리언 대수
1. NOT : 논리적 반대
2. AND : 둘 이상의 비트에서 사용. 모든 비교 대상이 참이면 참, 하나라도 거짓이라면 연산 결과는 거짓
3. OR : 역시 둘 이상의 비트에서 사용, 모든 비교대상이 거짓이라면 거짓, 하나라도 참이라면 연산 결과는 참
4. XOR : 첫번째 비트와 두번째 비트가 다른 경우에만 참.
- 드모르간의 법칙
1. a and b 라는 연산은 not(not a or not b)
2. 증명
a = False
b = False
a AND b = False
Not a = True
Not b = True
Not a Or Not b = T
NOT(Not a Or Not b) = F
'백엔드 > os 및 일반 지식' 카테고리의 다른 글
컴퓨터 자료 구조 - 실수를 표현하는 방법, 2진 코드화한 10진수 시스템 (0) | 2022.02.12 |
---|---|
컴퓨터 내부의 언어 체계 - 정수를 비트로 표현하는 방법 (0) | 2022.02.11 |
트랜잭션 (0) | 2022.02.03 |
자료형 (0) | 2022.01.14 |
객체지향 프로그래밍이란?? (0) | 2022.01.05 |