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
231 = 2147483648
232 = 4294967296
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 연산자)

예를 들면:

-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