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의 50제곱까지[편집]

21
=
2      
211
=
2,048      
221
=
2,097,152      
231
=
2,147,483,648
22
=
4
212
=
4,096
222
=
4,194,304
232
=
4,294,967,296
23
=
8
213
=
8,192
223
=
8,388,608
233
=
8,589,934,592
24
=
16
214
=
16,384
224
=
16,777,216
234
=
17,179,869,184
25
=
32
215
=
32,768
225
=
33,554,432
235
=
34,359,738,368
26
=
64
216
=
65,536
226
=
67,108,864
236
=
68,719,476,736
27
=
128
217
=
131,072
227
=
134,217,728
237
=
137,438,953,472
28
=
256
218
=
262,144
228
=
268,435,456
238
=
274,877,906,944
29
=
512
219
=
524,288
229
=
536,870,912
239
=
549,755,813,888
210
=
1,024
220
=
1,048,576
230
=
1,073,741,824
240
=
1,099,511,627,776

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