Good Morning

컴퓨터에서의 이진수와 정수 표현 방식 이해하기 본문

Computer Science

컴퓨터에서의 이진수와 정수 표현 방식 이해하기

욘쥰 2024. 10. 23. 20:26

1. 부호 없는 정수 (Unsigned Integer)

1.1. 기본 개념

n비트로 표현할 수 있는 부호 없는 정수의 범위는:

  • 최솟값: 0
  • 최댓값: 2^n - 1

1.2. 범위 예시

  • 8비트: 0 ~ 255 (2^8 - 1)
  • 16비트: 0 ~ 65,535 (2^16 - 1)
  • 32비트: 0 ~ 4,294,967,295 (2^32 - 1)

1.3. 왜 0부터 시작할까?

컴퓨터가 0부터 시작하는 이유:

  1. 수학적/논리적 기원: 이진법 연산과 부울 대수의 자연스러운 표현
  2. 하드웨어적 이유: 전기 회로에서 '전류 없음'이 기본 상태
  3. 메모리 주소 지정의 효율성
  4. 역사적 영향: EDSAC과 C언어의 영향

2. 부호 있는 정수 (Signed Integer)

2.1. 기본 개념

n비트로 표현할 수 있는 부호 있는 정수의 범위는:

  • 최솟값: -2^(n-1)
  • 최댓값: 2^(n-1) - 1

2.2. 범위 예시

  • 8비트: -128 ~ 127
  • 16비트: -32,768 ~ 32,767
  • 32비트: -2,147,483,648 ~ 2,147,483,647

2.3. 음수 표현 방식: 2의 보수법

음수를 표현하는 과정:

  1. 양수의 모든 비트를 반전(1의 보수)
  2. 반전된 수에 1을 더함(2의 보수)

예시) 4비트로 -2 만들기:

1. 양수 2의 이진수: 0010
2. 비트 반전: 1101
3. 1 더하기: 1110 = -2

2.4. 부호 비트

  • 가장 왼쪽 비트(MSB)가 부호를 나타냄
  • 0: 양수
  • 1: 음수

3. 이진수의 덧셈

3.1. 기본 규칙

  • 0 + 0 = 0
  • 0 + 1 = 1
  • 1 + 0 = 1
  • 1 + 1 = 10 (자리 올림 발생)

3.2. 예시

4비트 덧셈:

  1101
     1
  ----
  1110

4. 특징과 장점

4.1. 2의 보수법의 장점

  1. 덧셈 연산으로 뺄셈 구현 가능
  2. 하드웨어 구현이 단순
  3. 0의 표현이 유일함

4.2. 주의할 점

  1. 부호 있는 정수는 표현 범위가 비대칭적
  2. 최상위 비트는 항상 부호 비트로 사용
  3. 오버플로우 주의 필요

마치며

이진수와 정수 표현 방식은 컴퓨터 과학의 기초가 되는 중요한 개념입니다. 특히 2의 보수법은 하드웨어의 효율성과 연산의 단순성을 위해 채택된 현명한 선택이었습니다.