In Computer/컴퓨터구조

[컴퓨터구조] Unsigned Binary Integers | 부호 없는 이진 정수

팽이리 2023. 3. 25. 06:07

Unsigned Binary Integers | 부호 없는 이진 정수

n비트의 수가 주어지면 다음과 같다.

$$x= x_{n-1}2^{n-1}+x_{n-2}2^{n-2}+ \ldots +x_12^1+x_02^0$$

범위 : 0 ~ $2^n-1$

32비트를 사용하면, 0 ~ +4,294,967,295

 

2s-Complement Signed Intergers | 부호 있는 2의 보수 정수

n비트의 수가 주어지면 다음과 같다.

$$x=- x_{n-1}2^{n-1}+x_{n-2}2^{n-2}+ \ldots +x_12^1+x_02^0$$

범위 : $-2^{n-1} ~ 2^{n-1}-1

32비트를 사용하면, -2,147,483,648 ~ +2,147,483,647

일부의 특정한 경우

  • 0 : 0000 0000 $\ldots$ 0000
  • -1 : 1111 1111 $\ldots$ 1111
  • 가장 작은 수 : 1000 0000 $\ldots$ 0000
  • 가장 큰 수 : 0111 1111 $\ldots$ 1111

 

Signed Negation | 부호 바꾸기

$$x+\overline{x}=1111\ldots1111_2=-1$$

$$\overline{x}+1=-x$$

 

Sign Extension | 부호 확장

부호 확장은 더 많은 비트를 사용해서 숫자 값을 유지하면서 숫자를 표시하는 것이다.

MIPS의 명령 집합

  • addi : 덧셈 연산으로 즉시 값을 확장한다.
  • lb, lh : 불러온 바이트나 하프워드를 확장한다.
  • beq, bne : 변위(displacement)를 확장한다.

부호 비트를 왼쪽으로 쓴다.

  • c.f. 부호 없는 값은 0을 복제해서 확장한다. 

예를들어, 8비트 ~ 16비트

  • +2 : 0000 0010 → 0000 0000 0000 0010
  • -2 : 1111 1110 → 1111 1111 1111 1110