📑 본 글은 <혼공컴운>을 읽고 정리한 글입니다.
1. 0과 1로 숫자를 표현하는 방법
1-1. 정보 단위
- 비트(Bit) : 0과 1을 나타내는 가장 작은 정보 단위
- 바이트(byte) : 8개의 비트를 묶은 단위
- 킬로바이트(KB) : 1바이트를 1000개 묶은 단위
- 메가바이트(MB) : 1킬로바이트를 1000개 묶은 단위
- 기가바이트(GB) : 1메가바이트를 1000개 묶은 단위
- 테라바이트(TB) : 1기가바이트를 1000개 묶은 단위
워드(Word) : CPU가 한 번에 처리할 수 있는 데이터 크기
1-2. 이진법
- 0과 1만으로 모든 숫자를 표현하는 방법
- 이진수 앞에 0b를 붙인다.
- 이진수의 음수 표현
- 1의 보수 : 모든 이진수의 0과 1을 뒤집은 수
- 2의 보수 : 1의 보수에서 1을 더한 값
1-3. 십육진법
- 15를 넘어가는 시점에 자리 올림을 하는 숫자
- 0~9, A~F
- 십육진수 앞에 0x를 붙인다.
2. 0과 1로 문자를 표현하는 방법
2-1. 문자 집합과 인코딩
- 문자 집합 : 컴퓨터가 인식하고 표현할 수 있는 문자의 모음
- 문자 인코딩 : 컴퓨터가 읽을 수 있도록 문자를 0과 1로 변환하는 과정
- 문자 디코딩 : 사람이 이해할 수 있도록 0과 1을 문자로 변환하는 과정
2-2. 아스키 코드
- ASCII : American Standard Code for Information Interchange
- 하나의 아스키 문자는 1바이트(8비트) 사용한다. BUT 그 중 1비트는 패리티 비트라서 실질적으로 7비트 사용한다. 2**7 = 128개의 문자 표현
- 코드 포인트 : 글자에 부여된 고유한 값
- ‘A’ = 65, ‘a’ = 97 매핑된다. <알파벳 전체 26개>
- 확장 아스키 : 아스키 코드에 1비트 추가, 그래도 256개라서 부족함
2-3. 유니코드와 UTF-8
- 유니코드 : 여러 나라의 문자를 광범위하게 표현할 수 있는 통일된 문자 집합
- 대부분 나라의 문자, 특수문자, 화살표, 이모지 등을 표현할 수 있다.
- 인코딩 방법