2-1. 0과 1로 숫자를 표현하는 방법
정보 단위
- 비트 : 0과 1을 나타내는 가장 작은 정보 단위 n비트는 2^n가지 정보를 표현
1바이트(1byte) | 8비트(8bit) |
1킬로바이트(1kB) | 1,000바이트(1,000byte) |
1메가바이트(1MB) | 1,000킬로바이트(1,000kB) |
1기가바이트(1GB) | 1,000메가바이트(1,000MB) |
1테라바이트(1TB) | 1,000기가바이트(1,000GB) |
워드 : CPU가 한 번에 처리할 수 있는 데이터 크기 ex) CPU가 한 번에 16비트를 처리할 수 있다면, 1워드는 16비트
이진법
이진법 : 0과 1만으로 모든 숫자를 표현하는 방법. 1을 넘어가는 시점에 자리 올림을 한다.
십진법 : 숫자가 9를 넘어가는 시접에 자리 올림을 하여 0부터 9까지, 열 개의 숫자만으로 모든 수를 표현하는 방법- 숫자 10을 보고 십진 수인지 이진수인지 구분 하기 위해 이진수는 수학적으로 표기할 때는 끝에 아래첨자(2)를 붙이거나, 코드 상에서는 0b를 붙인다.
이진수의 음수 표현
2의 보수를 구해서 이 값을 음수로 간주한다.
11 => 00 => 01 이렇게 모든 0과 1을 뒤집고 거기에 1을 더한 값으로 음수 표현
- 이진수만 봐서는 이게 음수인지 양수인지 구분하기 어렵다. 구분하기 위해 플래그 사용.
십육진법
수가 15를 넘어가는 시점에 자리 올림을 하는 숫자 표현 방식
- 10~15는 A,B,C,D,E,F로 각각 표기. 16부터는 10으로 자리를 올림 해준다.
십육진수를 이진수로 변환하기
십육진수 한 글자를 4비트의 이진수로 간주. 각 글자를 따로따로 4개의 숫자로 구성된 이진수로 변환하고, 그것들을 그대로 이어 붙인다.
이진수를 십육진수로 변환하기
이진수 숫자를 네 개씩 끊고, 끊어 준 네 개의 숫자를 하나의 십육진수로 변환한 뒤 그대로 이어 붙인다.
필수 문제
3. 1101(2)의 음수를 2의 보수 표현법으로 구해보세요.
1101 => (모든 0과 1 뒤집기) 0010 => (1더하기) 0011
1101(2)을 음수로 표현한 값은 0011 입니다.
2-2. 0과 1로 문자를 표현하는 방법
문자 집합과 인코딩
- 문자 집합 : 컴퓨터가 인식하고 표현할 수 있는 문자 모음.
- 문자 인코딩 : 문자 집합에 속한 문자라고 해서 컴퓨터가 그대로 이해할 수 있는 건 아니다. 문자를 0과 1로 변환 과정을 문자 인코딩이라 한다.
- 문자 디코딩 : 인코딩의 반대 과정, 즉 0과 1로 이루어진 문자 코드를 사람이 이해할 수 있는 문자로 변환하는 과정
아스키코드
아스키 문자 집합에 속한 문자들은 각각 7비트로 표현. 7비트로 표현할 수있는 정보의 가짓수를 2^7개로 총 128개의 문자를 표현할 수 있다.
EUC-KR
아스키 코드는 문자 집합 외의 문자, 특수 문자도 표현 불가능 그래서 한글 인코딩을 하기 위해 한글 인코딩 방식 등장
- 완성형 인코딩 : 초성, 중성, 종성의 조합으로 이루어진 완성된 하나의 글자에 고유한 코드를 부여하는 인코딩 방식.
- 조합형 인코딩 : 초성을 위한 비트열, 중성을 위한 비트열, 종성을 위한 비트열을 할당하여 그것들의 조합으로 하나의 글자 코드를 완성.
EUC-KR은 완성형 인코딩
EUC-KR의 문제점 해결 => CP949
유니코드와 UTF-8
유니코드는 대부분의 나라의 문자, 특수문자, 화살표나 이모티콘까지도 코드로 표현가능.(표준문자집합)
UTF-8은 통상 1바이트부터 4바이트까지의 인코딩 결과를 만들어 낸다.
'CS공부🖥️ > 운영체제' 카테고리의 다른 글
혼공 컴+운 chapter6. 메모리와 캐시 메모리 (0) | 2025.01.21 |
---|---|
혼공 컴+운 chapter5. CPU 성능 향상 기법 (1) | 2025.01.16 |
혼공 컴+운 chapter.04 CPU의 작동원리 (0) | 2025.01.15 |
혼공 컴+운 chapter3. 명령어 (0) | 2025.01.08 |
혼공 컴+운 chapter1. 컴퓨터 구조 시작하기 (1) | 2025.01.06 |