정수(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
- x에 대한 y의 보수: x와 더했을 때 y가 되는 수
부호형과 비부호형의 연산
- 비부호형과 부호형(2의 보수)간 맵핑: 비트 표시는 유지하고 번역만 다시 한다.
- 예시) -3의 (2의보수 -> 비부호형)재번역
-3(2의 보수) -> 1101 -> 12(비부호형)
- 예시) -3의 (2의보수 -> 비부호형)재번역
- 비부호형과 부호형을 연산할 때는 비부호형으로 자동으로 캐스팅 된다.
728x90
반응형
'CS > 컴퓨터 구조' 카테고리의 다른 글
[컴퓨터 구조](6)[부동 소수점의 연산] (2) | 2025.01.14 |
---|---|
[컴퓨터 구조](5)[부동 소수점] (3) | 2025.01.13 |
[컴퓨터 구조](4)[정수의 연산] (0) | 2025.01.10 |
[컴퓨터 구조](2)[비트 연산] (0) | 2025.01.08 |
[컴퓨터 구조](1)[정보의 저장] (1) | 2025.01.07 |