컴퓨터에서의 수 표현: 두 판 사이의 차이

youngwiki
편집 요약 없음
28번째 줄: 28번째 줄:
* unsigned 범위: 0 ~ 2<sup>w</sup>-1
* unsigned 범위: 0 ~ 2<sup>w</sup>-1
* 2의 보수법 범위: -2<sup>w-1<sup> ~ 2<sup>w-1<sup> - 1
* 2의 보수법 범위: -2<sup>w-1<sup> ~ 2<sup>w-1<sup> - 1
 
이때 x > 0이라면, 2의 보수법으로 해석된 음의 정수 -x를 unsigned 방식으로 해석하면 2<sup>w</sup>-x에 대응한다.
 
* B2S<sub>w</sub>(1011) = -5, B2U<sub>w<sub>(1011) = 11




[[분류:컴퓨터 시스템]]
[[분류:컴퓨터 시스템]]

2025년 3월 11일 (화) 05:57 판

개요

본문에서는 컴퓨터가 정수를 표현하는 방식에 대해서만 다룬다.

0보다 작은 정수 표현하기

sign-magnitude

첫번째 bit를 부호를 지정하는sign bit로 사용하는 방식이다.

  • sign bit 0: 양수 010101012 = +8510
  • sign bit 1: 음수 110101012 = -8510

장점과 단점이 존재한다.

2의 보수법

2의 보수법(Two's Complement)이란 각각의 bit를 다음의 방식으로 해석하는 표현법이다.

xw1(2w1)+n=0w2xi2i

이때 2의 보수법을 적용하는 2진수에서의 first bit를 MSB(Most Significant Bit)라고 한다. MSB가 1이면 음수, 0이면 0이상의 정수이다.

아래는 2의 보수법을 적용하여 해석한 2진수이다.

  • 0b01010 = 0 + 8 + 2 + 0 = 10
  • 0b10110 = -16 + 0 + 4 + 2 + 0 = -10

Unsigned vs Signed

2의 보수법을 적용하여 동일한 2진 벡터를 다른 방식으로 해석할 수 있다. 아래는 그 예시이다.

  • unsigned: 0b10110 = 16 + 0 + 4 + 2 + 0 = 22
  • 2의 보수법: 0b10110 = -16 + 0 + 4 + 2 + 0 = -10

서로 다른 해석법 때문에 2진 벡터의 길이가 w일 때 unsigned 해석법과 2의 보수법은 각각 다른 범위를 가진다.

  • unsigned 범위: 0 ~ 2w-1
  • 2의 보수법 범위: -2w-1 ~ 2w-1 - 1

이때 x > 0이라면, 2의 보수법으로 해석된 음의 정수 -x를 unsigned 방식으로 해석하면 2w-x에 대응한다.

  • B2Sw(1011) = -5, B2Uw(1011) = 11