더북(TheBook)

실행 결과를 자세히 보면 ac는 정상적으로 결과가 나왔지만, bd는 정확한 값으로 출력되지 않았습니다. 왜 이런 현상이 발생했을까요?

int는 정수를 저장하는 데 필요한 메모리 공간을 4바이트 사용한다고 하였습니다. 설명한 바와 같이 컴퓨터는 모든 정보를 0과 1, 즉 2진수로 처리합니다. 이때 0 또는 1을 저장할 수 있는 메모리 공간을 비트(bit)라고 합니다. 비트는 컴퓨터가 정보를 저장하는 최소 공간으로, 8개의 비트가 모인 공간을 바이트(byte)라고 합니다. 그러므로 4바이트는 32비트와 같습니다. 1비트로 표현 가능한 숫자는 01 두 개뿐입니다. 2비트로 표현 가능한 숫자는 2진수 00, 01, 10, 11, 즉 10진수로 0, 1, 2, 3을 표현하고 저장할 수 있습니다. 확장하여 3비트일 때는 어떨까요?

000, 001, 010, 011, 100, 101, 110, 111, 즉 정수 0~7까지 총 8개의 정수를 표현하고 저장할 수 있습니다. 그러므로 n비트로 저장 가능한 숫자의 범위는 0 ~ 2n(n은 비트의 개수) – 1까지 입니다.

표 2-1 | 비트 개수에 따른 메모리 저장 가능 범위

비트 개수

저장 가능 범위

메모리

저장 가능 개수

저장 숫자 범위

1비트

0, 1

2

0과 1

0~(21-1)

2비트

00, 01,

10, 11

4

0~3

0~(22-1)

3비트

000, 001

010, 011

100, 101

110, 111

8

0~7

0~(23-1)

...

...

...

...

n비트

000 .... 00

000..... 01

....

111 .... 11

2n

0~(2n-1)

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.