(컴퓨터 아키텍처) 부호 없는 이진 정수 | 부호 없는 이진 정수

부호 없는 이진 정수 | 부호 없는 이진 정수

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

2의 보수 부호 있는 정수 | 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
  • -하나 : 1111 1111 $\ldots$ 1111
  • 가장 작은 숫자: 1000 0000 $\ldots$ 0000
  • 가장 큰 수: 0111 1111 $\ldots$ 1111

부호 있는 부정 | 캐릭터 변경

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

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

문자 확장 | 확장에 서명

문자 확장은 숫자 값을 유지하면서 숫자를 나타내기 위해 더 많은 비트를 사용하는 것입니다.

MIPS 명령어 세트

  • addi: 더하기 연산으로 즉시 값을 확장합니다.

  • lb, lh: 로드된 바이트 또는 하프워드를 확장합니다.

  • beq, bne: 시프트를 늘립니다.

부호 비트를 왼쪽에 씁니다.

  • cf 부호 없는 값은 이중 0으로 확장됩니다.

예를 들어 8비트에서 16비트로

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