CS/컴퓨터 구조

[컴퓨터 구조](3)[정수의 표시]

황올뱀 2025. 1. 9. 16:06

정수(int)의 표시

  • 컴퓨터에서의 정수는 이진수로 표현된다. 이때, 여러 규칙이 있다.
  • 비부호형(unsigned) 정수
    • 모든 비트를 정수를 이진수로 나타내는데 사용한다. 따라서 나타낼 수 있는 수는 (0~2^(비트 수)-1)이다.
    • 예시) 8개의 비트로 비부호형 정수를 나타낸다면, 0~255까지의 수를 나타낼 수 있다.
  • 2의 보수(Two's complement)
    • x에 대한 y의 보수: x와 더했을 때 y가 되는 수
      • 2진수에서 1의보수: 0의 1의보수 = 1, 1의 0의 보수 = 0
      • 2진수에서 2의 보수 = 1의 보수 + 1
    • 맨 앞자리는 부호를 표현한다. 0이면 +, 1이면 -이다. 따라서 나타낼 수 있는 수는 (-2^(비트수 -1) ~ 2^(비트수-1)-1)
    • 예시) 8개의 비트로 2의보수를 나타낸다면, -128~127을 나타낼 수 있다.
    • 예시) 5 = 0101, -5 = 1011

부호형과 비부호형의 연산

  • 비부호형과 부호형(2의 보수)간 맵핑: 비트 표시는 유지하고 번역만 다시 한다.
    • 예시) -3의 (2의보수 -> 비부호형)재번역
      -3(2의 보수) -> 1101 -> 12(비부호형)
  • 비부호형과 부호형을 연산할 때는 비부호형으로 자동으로 캐스팅 된다.
728x90
반응형