TIL - 컴퓨터 시스템 - 정수의 표시

김수인·2025년 5월 26일

크래프톤 정글

목록 보기
15/17
post-thumbnail

컴퓨터의 정수 표현 방식

  • 부호 비트를 사용하는 방식
  • 1의 보수
  • 2의 보수

부호 비트를 사용하는 방식

가장 왼쪽에 있는 비트를 부호 비트로 사용하여 1인 경우 음수, 0인 경우 양수로 나타낸다.

+43, -43을 비트로 나타낸 것

  • 가장 왼쪽 비트만 양수 음수를 표현할 수 있는 비트로 둔다.

하지만

컴퓨터는 하나의 값에 하나의 의미만 부여하는 원칙을 고수하여 컴퓨터에서는 부호 사용 방식을 사용하지 않는다. 예: +0, -0이 생길 수 있음
또한 부호 비트 방식을 사용하면 연산 과정이 복잡해진다. 부호가 같은 두수의 합은 쉽게 구할 수 있으나, 부호가 서로 다른 두 수의 합은 그 연산 처리를 위해 절대 값으로 크기를 비교한 후 절대 값이 큰 값의 부호를 결과 값의 부호로 정하고 두 수의 차이를 계산해야 한다.

그래서 이러한 부호 비트의 문제점을 보완하기 위해 보수 표현법이 등장했다.

1의 보수 표현

1의 보수 표현은 0은 1로 바꾸고, 1은 0으로 바꾸는 단순 비트 변환 방식이다. 양수의 표현에서 모든 비트를 반대로 치환하면 1의 보수 표현으로 나타낼 수 있다.

하지만

1의 보수 표현에도 +0, -0이라는 2가지 표현 문제가 또 생기게 된다.

그래서 이것을 해결하기 위해 2의 보수 표현 방식이 사용된다.

2의 보수 표현

2의 보수 표현 방식은 1의 보수를 구한 뒤 맨 오른쪽 비트 자리에 1을 더하는 방식이다. 실제ㅗㄹ 컴퓨터 시스템에서 2의 보수 표현 방식이 가장 보편적으로 사용되고 있다.

예를 들어, +5를 1의 보수 표현으로 나타내면 0000 0101이고, -51111 1010이다. 여기서 -51111 1010+1을 해주면 1111 1011이 된다. 이게 -5를 2의 보수로 표현한 값이다.

반대로 양수를 구할 땐?

  1. 1을 뺀다.
  2. 1의 보수를 취한다.
  3. 10진수로 변환한다.

출처

profile
헤맨 만큼 내 땅이다

2개의 댓글

comment-user-thumbnail
2025년 5월 26일

차가운 CS앱보다 훨씬 친절한 설명이다 흐흑

1개의 답글