2의 거듭제곱

위키백과, 우리 모두의 백과사전.
이동: 둘러보기, 검색

수학에서 2의 거듭제곱2의 음이 아닌 정수 거듭제곱을 말한다. 1은 2의 (0번째) 거듭제곱이다. 이진수로 적으면 2의 거듭제곱은 1000···0의 모양을 하게 된다.

2가 이진수의 밑이므로 2의 거듭제곱은 전산학에서 중요한 수가 된다. 2의 n제곱은 n-비트로 표현할 수 있는 가지수가 된다. 2의 거듭제곱은 컴퓨터 메모리의 단위로 쓰인다. 한 바이트는 8 (23) 비트로 이루어져 있다. 1 킬로바이트는 1024 (210) 바이트이다. 컴퓨터의 레지스터는 2의 거듭제곱 크기(현재의 개인용 컴퓨터는 32비트 또는 64비트)로 되어 있다.

하드디스크의 크기나 주소도 2의 거듭제곱 꼴이 된다. 그래픽 해상도와 같이 2의 거듭제곱 꼴이 아닌 경우에도 대개 둘 또는 세 개의 2의 거듭제곱, 또는 거듭제곱보다 하나 작은 수 의 합 또는 곱의 형태로 나타낼 수 있다. 예를 들어 640 = 512 + 128, 480 = 32 × 15이 된다.

2의 거듭제곱보다 1이 작은 수를 메르센 수 라고 한다. 이중 몇몇은 소수 인데 이를 메르센 소수 라고 한다. 예를 들어 31은 32보다 1이 작은 수 이므로 메르센 수 이며, 소수이므로 메르센 소수 이다.

2부터 2의 10제곱까지[편집]

21
=
2      
22
=
4
23
=
8
24
=
16
25
=
32
26
=
64
27
=
128
28
=
256
29
=
512
210
=
1,024

2의 (2의 거듭제곱) 제곱[편집]

컴퓨터의 메모리나 레지스터가 2의 거듭제곱 크기의 비트로 이루어져 있으므로, 2의 (2의 거듭제곱) 제곱 형태의 수가 자주 나타난다.

21 = 2
22 = 4
24 = 16
28 = 256
216 = 65,536
232 = 4,294,967,296
264 = 18,446,744,073,709,551,616
2128 = 340,282,366,920,938,463,463,374,607,431,768,211,456

그 밖의 2의 거듭제곱[편집]

  • 210 = 1,024 — 킬로(1000)의 근사값으로 쓰인다. 예를 들어 1,024 바이트 = 1 킬로바이트이다. (정확히는 1 키비바이트) 이 숫자는 컴퓨터에게는 의미가 없으나 사람이 사용하는 십진수와 가까워 많이 쓰인다.
  • 224 = 16,777,216 — 트루컬러 시스템이 표현할 수 있는 의 수.

2의 거듭제곱을 빠르게 판별해 내는 방법[편집]

이진수의 성질을 이용해서 주어진 수가 2의 거듭제곱인지 빠르게 알아낼 수 있다.

x는 2의 거듭제곱이다 ⇔ (x & (x-1))이 0이다. (&는 비트 AND 연산자)

예를 들면:

-1
=
1...111...1
-1
=
1...111...111...1
x
=
0...010...0
y
=
0...010...010...0
x-1
=
0...001...1
y-1
=
0...010...001...1
x & (x-1)
=
0...000...0
y & (y-1)
=
0...010...000...0