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×(16-1)이 된다.

2의 거듭제곱보다 1이 작은 수를 메르센 수라고 한다.
이중 몇몇은 소수 인데 이를 메르센 소수라고 한다. 예를 들어 31은 2의 5제곱인 32보다 1이 작은 수 이므로 메르센 수이며, 약수가 1과 자기자신밖에 없어서 소수이므로 메르센 소수이다.

 1부터 2의 64제곱까지 
20 = 1
21 = 2
22 = 4
23 = 8
24 = 16
25 = 32
26 = 64
27 = 128
28 = 256
29 = 512
210 = 1024
211 = 2048
212 = 4096
213 = 8192
214 = 16384
215 = 32768
216 = 65536
217 = 131072
218 = 262144
219 = 524288
220 = 1048576
221 = 2097152
222 = 4194304
223 = 8388608
224 = 16777216
225 = 33554432
226 = 67108864
227 = 134217728
228 = 268435456
229 = 536870912
230 = 1073741824
231 = 2147483648
232 = 4294967296
233 = 8589934592
234 = 17179869184
235 = 34359738368
236 = 68719476736
237 = 137438953472
238 = 274877906944
239 = 549755813888
240 = 1099511627776
241 = 2199023255552
242 = 4398046511104
243 = 8796093022208
244 = 17592186044416
245 = 35184372088832
246 = 70368744177664
247 = 140737488355328
248 = 281474976710656
249 = 562949953421312
250 = 1125899906842624
251 = 2251799813685248
252 = 4503599627370496
253 = 9007199254740992
254 = 18014398509481984
255 = 36028797018963968
256 = 72057594037927936
257 = 144115188075855872
258 = 288230376151711744
259 = 576460752303423488
260 = 1152921504606846976
261 = 2305843009213693952
262 = 4611686018427387904
263 = 9223372036854775808
264 = 18446744073709551616

 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 ≒ 1844경
2128 = 340 282 366 920 938 463 463 374 607 431 768 211 456 ≒ 340간

 그 밖의 2의 거듭제곱 
 210 = 1,024 — 킬로(1000)의 근사값으로 쓰인다. 예를 들어 1,024 바이트 ≒ 1 킬로바이트이다. (정확히는 1 키비바이트) 이 수는 컴퓨터에게는 의미가 없으나 사람이 사용하는 십진수와 가까워 많이 쓰인다.

 224 = 16 777 216 — 트루컬러 시스템이 표현할 수 있는 색의 수.

 2의 거듭제곱을 빠르게 판별해 내는 방법 
이진수의 성질을 이용해서 주어진 수가 2의 거듭제곱인지 빠르게 알아낼 수 있다.
x는 2의 거듭제곱이다 ⇔ (x & (x-1))이 0이다. (&는 비트 AND 연산자)

예를 들면:
<div style="text-align: center;"> -1<div style="text-align: center;"> =1...111...1<div style="text-align: center;"> -1<div style="text-align: center;"> =1...111...111...1<div style="text-align: center;">  x<div style="text-align: center;"> =0...010...0<div style="text-align: center;">  y<div style="text-align: center;"> =0...010...010...0<div style="text-align: center;"> x-1<div style="text-align: center;"> =0...001...1<div style="text-align: center;"> y-1<div style="text-align: center;"> =0...010...001...1<div style="text-align: center;"> x & (x-1)<div style="text-align: center;"> =0...000...0<div style="text-align: center;"> y & (y-1)<div style="text-align: center;"> =0...010...000...0

 같이 보기 
 이진 로그
 10의 거듭제곱

분류:정수열
분류:이진 산술