반응형
4비트로 정수를 표현하면 아래 범위를 표현할 수 있습니다.
$-2^3 \sim 2^3-1$
이때 이와 같은 설명을 하는 경우가 있습니다.
맨 앞은 부호비트이므로, 실제 사용할 수 있는 비트는 3비트이다. 양수는 0을 포함해야 하므로 $2^3-1$ 까지 가능하고, 음수는 0을 포함하지 않으므로 $-2^3$ 까지 가능하다.
결과적으로 맞는 말이긴 한데 정수가 2의 보수법이라는 것을 아는 분들은 위 설명이 바로 와닿지는 않을 겁니다. 여기서는 2의 보수법을 고려하여 위 범위를 설명해보려고 합니다. 2의 보수법이 무엇이지 모르는 분들은 링크 의 글을 먼저 보고오시기 바랍니다.
아주 단순한 2비트에서 이해해봅시다. 2비트에서 1은 아래와 같습니다.
$01_{(2)}$
0은 아래와 같습니다.
$00_{(2)}$
이제 2의 보수법으로 -1을 구해봅시다. $01_{(2)}$에 1의 보수를 취하여 $01_{(2)}$으로 만들고 1을 더해줍니다. -1은 아래와 같습니다.
$11_{(2)}$
$00_{(2)}$의 2의 보수를 취하면 $00_{(2)}$이라서, 더 이상 보수를 취할게 없습니다. 그런데 숫자 하나가 남습니다.
$10_{(2)}$ 이 남습니다. $10_{(2)}$ 을 -2로 정합니다.
정수 범위에서 음수가 하나 더 많은 이유입니다.
반응형
'C언어 > 자료형 (숫자,논리,문자)' 카테고리의 다른 글
[C언어] 자료형 한눈에보기 (0) | 2022.07.08 |
---|---|
[C언어] 자료형의 크기를 확인하는 방법 (0) | 2022.07.08 |
[C언어] 2의 보수법 아주 쉽게 이해하기 (정수의 표현방식) (0) | 2022.07.08 |
[C언어] 정수로 정수를 나누면? (0) | 2022.03.03 |
[C언어] int 변수를 char 로 바꾸면 벌어지는 일 (0) | 2022.03.03 |
댓글