컴퓨터는 0과 1로 모든 연산을 처리하는데 어떻게 많은 일들을 처리할 수 있을까?

 

정보 단위

비트(bit) : 0과 1을 표현하는 가장 작은 정보 단위 (=컴퓨터가 이해할 수 있는 가장 작은 정보 단위)

 

 

  • n비트로 2^n가지의 정보를 표현 가능하다.
  • 프로그램은 수많은 비트로 이루어져 있음
  • 비트보다 더 큰 단위가 존재한다. ex) 바이트, 킬로바이트, 메가바이트, 기가바이트 ...

정보의 단위

 

워드(word)

CPU가 한 번에 처리할 수 있는 정보의 크기 단위

  • 하프 워드(half word) : 워드의 절반 크기
  • 풀 워드(full word) : 워드 크기
  • 더블 워드(double word) :  워드의 두 배 크기

 

 

0과 1로 숫자를 표현하기

이진법(binary)

  • 0과 1로 수를 표현하는 방법
  • 숫자가 1을 넘어가는 시점에 자리올림
  • 우리가 일상적으로 사용하는 진법은 십진법(decimal)

십진법과 이진법

 

0과 1로 음수 표현하기 : 2의 보수

 - 어떤 수를 그보다 큰 2^n 에서 뺀 값(= 모든 0과 1을 뒤집고 1 더한 값)

2의 보수법

 

 

음수 두 번 구해보기

 

 

 

" -1011(2) 를 표현하기 위한 0101(2)과 십진수 5를 표현하기 위한 0101(2)는 똑같이 생겼는데 어떻게 구분할까?"

 

이것을 구분하기 위해 CPU 내부에는 플래그(flag) 레지스터가 존재한다.

플래그

 

 

십육진법

이진법으로는 숫자의 길이가 너무 길어진다. ex) 십진수 32 = 이진수 100000

그래서 컴퓨터의 데이터를 표현할 때 십육진법도 많이  사용한다. 수가 15를 넘어가는 시점에 자리올림을 한다.

 

16진법
2진수 -> 16진수 변환

 

16진수 -> 이진수 변환

 

'컴퓨터구조와 운영체제' 카테고리의 다른 글

레지스터  (0) 2024.06.26
ALU와 제어장치  (0) 2024.06.25
소스 코드와 명령어  (0) 2024.06.24
0과 1로 문자를 표현하는 방법  (0) 2024.06.21
컴퓨터 구조를 알아야 하는 이유  (0) 2024.06.19

+ Recent posts