빼미의 개발일기

[컴퓨터 구조] - 4강. 0과 1로 숫자를 표현하는 방법 본문

프로그래밍/컴퓨터 구조

[컴퓨터 구조] - 4강. 0과 1로 숫자를 표현하는 방법

빼미01 2023. 5. 8. 09:11
이 글은 한빛미디어 '혼자 공부하는 컴퓨터 구조 + 운영체제'를 공부하고 정리한 내용입니다.

 

4강. 0과 1로 숫자를 표현하는 방법

◆ 비트 : 0과 1을 표현하는 가장 작은 정보 단위

  • n비트로 2ⁿ가지의 정보 표현이 가능하고 프로그램은 수많은 비트로 이루어짐
  • 1바이트(1byte) = 8비트 (8bit)

※ 1킬로 바이트는 1000바이트?? 1024바이트??

- 언밀히 따지면 1000바이트가 맞으며, 1024바이트는 KiB, 1024킬로바이트는 MiB, 식으로 다른 단위가 있다. 과거에 정보의 단위가 크지 않았을 때는 1024나 1000가 많기는 매한가지이기 때문에 혼용해서 사용했으나, 현재는 그 사이가 큰 결과를 낳기 때문에 확실하게 구분해서 사용한다.

 

◆ 워드(Word) : CPU가 한 번에 처리할 수 있는 정보의 크기 단위

  • 하프워드 (Half Word) : 워드의 절반크기
  • 풀 워드 (Full Word) : 워드 크기
  • 더블 워드 (Double Word) : 워드의 2배 크기

이진법 (Binary) : 0과 1로 수를 표현하는 방법

십진수 1 2 3 4 5 6 7 8 9
이진수 1 10 11 100 101 110 111 1000 1001

- 보통 10진수와 2진수를 구분하기 위해 1000(2) 나 ob1000 식으로 표기

- 이진수로 음수 표현하기 : 2의 보수

  • 어떤 수를 그보다 2ⁿ 에서 뺀 값 (ex : 11(2) 보다 큰 2ⁿ  = 100(2) → 100(2) - 11(2) → 11(2)을 음수로 표현한 값 : 01(2)
  • 모든 0과 1을 뒤집고 1 더한 값 : 1011(2)의 음수 → 0100 + 1 = 0101(2)
  • 음수를 취해도 양수일 때와 동일한 이진수의 경우가 있다 ex) 1000(2) → 0111 + 1 = 1000(2)
    이진수로 볼 때 구분이 되지 않는 건 맞지만, CPU 내부에 플래그 레지스터가 있는데 이 안에서 현재 값이 양수인지 음수인지에 대한 표식을 해놓기 때문에 CPU는 이진수가 양수인지 음수인지를 판단할 수 있다.

16진법(Hexadecimal) : 이진법은 숫자의 길이가 길어지기에 16진법으로도 많이 사용

10진수 8 9 10 11 12 13 14 15 16
16진수 8 9 A B C D E F 10

 - 2진법과 동일하게 15(16) 또는 0x15 식으로 표기

Comments