1. 0과 1로 숫자 표현하기
1.1. 정보 단위
- 0과 1을 나타내는 가장 작은 정보 단위 == bit
- 1 byte == 8bit
- 1 kB == 1,000 byte == 1,024 byte
- 1MB = =1,000 kB
- 1GB == 1,000 MB
- 1TB == 1,000 GB
1.2. 이진법
- 이진법(binary)
- 0, 1로 숫자를 표현하는 방법
- 십진법 (decimal)
- 0 ~ 9 로 표현
1.3. 이진수의 음수 표현
- 2의 보수 (two’s complement)를 구함
- 보수가 뭐냐?
- 어떤 수를 그 보다 큰 2n승에서 뺀 값
- 좀 더 쉽게 말하자면 모든 0과 1 뒤집고, 거기에 1 더하면 됨!
- ex) 11 (2) 의 음수는 ?
- 00으로 바꿔주고, 1 더하면 → 01 (2)
- 컴 내부에서 는 양수, 음수 구분 위해 플래그(flag) 사용
- flag는 부가 정보임
1.4. 십육진법
- 이진법으로 표현하면 숫자 길이가 너무 길어짐
- 십육진법 (hexadecimal)
- 0 ~ 9 , A ~ F로 표현
- 즉, A가 10, F가 15
- 표기는
- 수학적으로는 15(16)
- 코드상으로는 0x15
- 왜 쓰냐?
- 이진수로 변환 쉬우니까
1.5. 십육진수를 이진수로 변환
- 십육진수를 이루는 숫자 하나를 이진수로 표현하려면?
- 4비트 필요함
- 2의 4제곱 == 16
- ex) D5(16)
- D는 십진수 13임
- 5는 5겠쥬?
- 4자리씩 2진수로 바꿔주면
- D는 1101(2)
- 5는 0101(2)
- 즉 → 1101 0101 (2)
- 나는 16진수를 10진수로 먼저 생각하고 그 10진수를 2진수로 바꿔준다!
2. 0과 1을 문자로 표현하기
2.1. 문자 집합과 인코딩
문자 집합
- 컴이 인식하고 표현할 수 있는 문자의 모음
인코딩
- 컴이 문자집합 속에 있는 문자를 그대로 이해하는 것은 아님
- 그 문자를 0,1로 변환해야 이해 가능
- 이 변환 과정을 문자 인코딩(character encoding)
- 인코딩 후 0,1로 이뤄진 결과 값이 문자 코드가 됨
디코딩
- 인코딩의 반대과정
- 사림이 이해할 수 있게 문자로 변화하는 과정임
2.2. 아스키코드
- American Standard Code for Infomation Interchange
- ASCII
- 갯수는 2의 7 제곱 (총 128개)
- 0~127
- A는 십진수 65
- a는 십진수 97 외우자~
2.3. EUC-KR
- 대표적인 완성형 인코딩 방식임
- 한글 단어에 2바이트 크기 부여함
- 근디 한글 인코딩은 두 가지 방식 있음
- 완성형 인코딩
- 조합형 인코딩
- 하지만 모든 한글을 다 표현 X ex) 쀍..
2.4. 유니코드와 UTF-8
- 여러 나라의 문자를 광범위하게 표현할 수 있는 통일된 문자 집합
- UTF?
- Unicode Transformation Format
- UTF-8로 인코딩하면 한글은 3바이트로 표현됨
- 아래 이미지는 라이더에서 한글 주석 쓰면 나오는 메시지. 한글 주석 때문에 인코딩 어떻게 다시 할거냐고 ..매번 물었는데, 신경 안 썼던 나 ^^...
2년 전 정혜경 쌤 C언어 수업 들을 때 한참 어려웠던 기본 데이터 개념 ^^..
공부를 누적할 수록 익숙해져서일까? 무슨 말인지 쏙쏙 이해된다, 이제는!
'운영체제' 카테고리의 다른 글
[컴퓨터 구조] 명령어 사이클과 인터럽트 (0) | 2024.08.09 |
---|---|
[컴퓨터 구조] 레지스터 (0) | 2024.08.08 |
[컴퓨터 구조] CPU 작동 원리1 : ALU (1) | 2024.08.06 |
[컴퓨터 구조] 명령어와 명령어의 구조 (0) | 2024.08.03 |
[컴퓨터 구조] CPU, 메모리, 시스템버스, 보조기억장치 (0) | 2024.07.29 |