728x90
[지금 무료] 개발자를 위한 컴퓨터공학 1: 혼자 공부하는 컴퓨터구조 + 운영체제 강의 - 인프런
베스트셀러 『혼자 공부하는 컴퓨터 구조 + 운영체제』 저자 무료 직강. 개발자들이 꼭 알아야 할 컴퓨터 구조, 운영체제 전공서 요약집., 개발자 필수지식 컴퓨터 구조와 운영체제강의 하나로
www.inflearn.com
해당 인프런 강의를 들으며 정리한 내용입니다.
0과 1로 숫자를 표현하는 방법
정보 단위
비트
0과 1을 표현하는 가장 작은 정보 단위
- 2비트로는 4가지 정보, 3비트로는 8가지 정보 표현 가능
- n비트로는 (2^n)

워드
- CPU가 한 번에 처리할 수 있는 정보의 크기
- 하프 워드(half word): 워드 절반의 크기
- 풀 워드(full word): 워드 크기
- 더블 워드(double word): 워드의 두 배 크기
이진법
- 0과 1로 숫자를 표현하는 방법
- 숫자가 1을 넘어가는 시점에 자리 올림
- 일상적으로는 10진법 사용
이진수 ⇒ 십진수
0101 ⇒ 5
0011 ⇒ 3
1111 ⇒ 15
표기
- 1000(2) < 아래 첨자
- 0b1000
음수 표현
2의 보수법
- 어떤 수를 그보다 큰 2^n에서 뺀 값
- 모든 0과 1을 뒤집고 1을 더한 값


이진수 음수와 양수의 구분
- CPU 내부에 Flag 레지스터가 존재
- Flag 레지스터가 음수, 양수를 표기
- 모든 숫자가 Flag 값을 지님
십육진법
- 이진법으로는 숫자의 길이가 길어짐
- 수가 15를 넘어가는 순간 자리를 올림

표기
- 1000(16) < 아래 첨자
- 0x15
십육진수를 쓰는 이유
- 이진수 ⇒ 십육진수간 변환이 쉽다
0과 1로 문자를 표현하는 방법
용어 정리
문자집합
- 컴퓨터가 이해할 수 있는 문자의 모음
인코딩
- 코드화하는 과정
- 문자를 0과 1로 이루어진 문자 코드로 변환하는 과정

디코딩
- 코드를 해석하는 과정
- 0과 1로 표현된 문자 코드를 문자로 변환하는 과정
ASCII
- 초창기 문자 집합 중 하나
- 알파벳, 아라비아 숫자, 일부 특수 문자 및 제어문자
- 7비트로 하나의 문자 표현
- 8비트 중 1비트는 오류 검출을 위해 사용되는 패리티 비트(parity bit)
- 2^7개의 문자 표현 가능
- 간단한 인코딩
- 다른 언어 문자, 다양한 특수 문자 표현 불가
- 8비트 확장 아스키(extended ASCII) 나왔지만 역부족
한글 인코딩
- 초성, 중성, 종성의 조합
- 완성형 인코딩, 조합형 인코딩 방식이 존재

EUC-KR
- KS X 1001 KS X 1003 문자 집합 기반의 한글 인코딩 방식
- 완성형 인코딩
- 글자 하나 하나에 2바이트 크기의 코드 부여

직접 인코딩 해보기
문제점
- 2300여개의 한글 표현 가능
- 쀏, 뙠, 휔 같은 한글 표현 불가능
- 언어별 인코딩 방식을 모두 이해할 필요
유니코드 문자 집합
- 통일된 문자 집합
- 한글, 영어, 화살표, 이모티콘
- 혅대 문자 표현에 있어 중요한 위치
인코딩 방식
- UTF-8, UTF-16, UTF-32…
UTF-8
- Unicode Transformation Format == 유니코드 인코딩 방법
- 가변 길이 인코딩: 결과가 1바이트~4바이트
- 길이는 유니코드 코드포인트에 따라 결정
이미 다 배운 거라 강의를 보는데 지루하게만 느껴진다...
정리도 굳이 해야 하나 싶었지만... 처음 강의를 들을 때 약속한 거니까 그래도 끝까지 해봐야지.
그래도 분명 까먹은 것도 있고 몰랐던 것도 있는데!
마인드의 문제인 것 같다. 회피하지 말라구 이민영!!!!
내일도 강의 들으며 내용을 정리해야겠다.
728x90
'CS' 카테고리의 다른 글
| [컴퓨터 구조] 레지스터 (0) | 2024.01.30 |
|---|---|
| [컴퓨터 구조] 명령어 (0) | 2024.01.17 |
| [컴퓨터 구조] 컴퓨터 구조의 큰 그림 (0) | 2024.01.15 |