컴퓨터에서의 수 표현: 두 판 사이의 차이
youngwiki
편집 요약 없음 |
|||
| 27번째 줄: | 27번째 줄: | ||
서로 다른 해석법 때문에 2진 벡터의 길이가 w일 때 unsigned 해석법과 2의 보수법은 각각 다른 범위를 가진다. | 서로 다른 해석법 때문에 2진 벡터의 길이가 w일 때 unsigned 해석법과 2의 보수법은 각각 다른 범위를 가진다. | ||
* 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에 대응한다. | 이때 x > 0이라면, 2의 보수법으로 해석된 음의 정수 -x를 unsigned 방식으로 해석하면 2<sup>w</sup>-x에 대응한다. | ||
* B2S<sub>w</sub>(1011) = -5, B2U<sub>w<sub>(1011) = 11 | * B2S<sub>w</sub>(1011) = -5, B2U<sub>w</sub>(1011) = 11 | ||
[[분류:컴퓨터 시스템]] | [[분류:컴퓨터 시스템]] | ||
2025년 3월 11일 (화) 14:39 판
개요
본문에서는 컴퓨터가 정수를 표현하는 방식에 대해서만 다룬다.
0보다 작은 정수 표현하기
sign-magnitude
첫번째 bit를 부호를 지정하는sign bit로 사용하는 방식이다.
- sign bit 0: 양수 010101012 = +8510
- sign bit 1: 음수 110101012 = -8510
장점과 단점이 존재한다.
2의 보수법
2의 보수법(Two's Complement)이란 각각의 bit를 다음의 방식으로 해석하는 표현법이다.
이때 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