02-1 0과 1로 숫자를 표현하는 방법
1) 정보단위
- 비트(bit) : 0과 1을 표현하는 가장 작은 정보 단위
- ex) 전구 : 켜짐 · 꺼짐
- n비트로 2ⁿ가지의 저옵 표현 가능
- 프로그램은 수많은 비트로 이루어져 있다. 다만 표현 시 비트보다 더 큰 다위를 사용한다.(ex 바이트, 메가바이트, 기가바이트, 테라바이트 ···)
더보기
1바이트(1byte) : 8비트(8bit)
1킬로바이트(1KB) : 1,000 바이트(1,000 byte)
1메가 바이트(1MB) : 1,000 킬로바이트(1,000 KB)
1기가 바이트(1GB) : 1,000 메가바이트(1,000 MB)
1테라 바이트(1TB) : 1,000 기가바이트(1,000 GB)
c.f) 이전 단위를 1024개씩 묶는 건 KiB, MiB, GiB ··· 등등
2) 워드(word)
- CPU가 한 번에 처리할 수 있는 정보의 크기 단위
- 하프워드(half word) : 워드의 절반 크기
- 풀워드(full word) : 워드크기
- 더블 워드(double word) : 워드의 두 배 크기
3) 이진법(binary)
- 0과 1로 수를 표현하는 방법
- 숫자가 1을 넘어가는 시점에 자리올림
- 우리가 일상적으로 사용하는 진법은 숫자가 9를 넘어갈 때 자리올림하는 십진법(decimal)
3-1) 0과 1로 음수 표현하기 : 2의 보수
- 어떤 수를 그보다 큰 2ⁿ 에서 뺀 값
- 모든 0과 1을 뒤집고 1 더한 값
- CPU 내부의 플래그(flag) 레지스터를 통해 양수 · 음수를 구분한다.
4) 십육진법
- 이진법으로는 숫자의 길이가 너무 길어진다.(십진수 32 == 이진수 100000) 그렇기 때문에 컴퓨터의 데이터를 표현할 때 십육진법도 많이 사용된다.(수가 15를 넘어가는 시점에 자리올림)
- 직접 코드에 써넣는 사례
- 16진수 → 2진수 변환
- 2진수 → 16진수 변환
※ 16진수를 쓰는 것은 2진수를 16진수로 변환하거나 16진수를 2진수로 변환하는 과정이 수월하기 때문일것이라고 추측하고 있다.
출처: 인프런-개발자를 위한 컴퓨터공학 1: 혼자 공부하는 컴퓨터구조 + 운영체제
https://www.inflearn.com/course/%ED%98%BC%EC%9E%90-%EA%B3%B5%EB%B6%80%ED%95%98%EB%8A%94-%EC%BB%B4%ED%93%A8%ED%84%B0%EA%B5%AC%EC%A1%B0-%EC%9A%B4%EC%98%81%EC%B2%B4%EC%A0%9C/dashboard
'Computer Science > 컴퓨터 구조' 카테고리의 다른 글
[CS : 컴퓨터 구조] C 언어의 컴파일 과정 (1) | 2023.10.25 |
---|---|
[CS : 컴퓨터 구조] 03-2 명령어의 구조 (1) | 2023.10.24 |
[CS : 컴퓨터 구조] 명령어 : 03-1 소스코드와 명령어 (0) | 2023.10.23 |
[CS : 컴퓨터 구조] 데이터 : 02-2 0과 1로 문자를 표현하는 방법 (0) | 2023.10.20 |
[CS : 컴퓨터 구조] 컴퓨터 구조에 대하여 (1) | 2023.10.18 |