Power of two
From Free net encyclopedia
In mathematics, a power of two is any of the nonnegative integer powers of the number two; in other words, two times itself a certain number of times. Note that one is a power (the zeroth power) of two. Written in binary, a power of two always has the form 10000...0, just like a power of ten in the decimal system.
Because two is the base of the binary system, powers of two are important to computer science. Specifically, two to the power of n is the number of ways the bits in a binary integer of length n can be arranged, and thus numbers that are one less than a power of two denote the upper bounds of integers in binary computers (one less because 0, not 1, is used as the lower bound). As a consequence, numbers of this form show up frequently in computer software. As an example, a video game running on an 8-bit system, might limit the score or the number of items the player can hold to 255 — the result of a byte, which is 8 bits long, being used to store the number, giving a maximum value of 28−1 = 255.
Powers of two also measure computer memory. A byte is eight (23) bits, and a kilobyte is 1,024 (210) bytes (standards prefer the word kibibyte, as "kilobyte" also means 1,000 bytes). Nearly all processor registers have sizes that are powers of two, 32 or 64 being most common (see word size).
Powers of two occur in a range of other places as well. For many disk drives, at least one of the sector size, number of sectors per track, and number of tracks per surface is a power of two. The logical block size is almost always a power of two.
Numbers which are not powers of two occur in a number of situations such as video resolutions, but they are often the sum or product of only two or three powers of two, or powers of two minus one. For example, 640 = 512 + 128, and 480 = 32 × 15. Put another way, they have fairly regular bit patterns.
A prime number that is one less than a power of two is called a Mersenne prime. For example, the prime number 31 is a Mersenne prime because it is 1 less than 32 (25).
Contents |
The first forty powers of two
<center> = | 2 | <center> 211 | <center> = | 2,048 | <center> 221 | <center> = | 2,097,152 | <center> 231 | <center> = | 2,147,483,648 | ||||
<center> 22 | <center> = | 4 | <center> 212 | <center> = | 4,096 | <center> 222 | <center> = | 4,194,304 | <center> 232 | <center> = | 4,294,967,296 | |||
<center> 23 | <center> = | 8 | <center> 213 | <center> = | 8,192 | <center> 223 | <center> = | 8,388,608 | <center> 233 | <center> = | 8,589,934,592 | |||
<center> 24 | <center> = | 16 | <center> 214 | <center> = | 16,384 | <center> 224 | <center> = | 16,777,216 | <center> 234 | <center> = | 17,179,869,184 | |||
<center> 25 | <center> = | 32 | <center> 215 | <center> = | 32,768 | <center> 225 | <center> = | 33,554,432 | <center> 235 | <center> = | 34,359,738,368 | |||
<center> 26 | <center> = | 64 | <center> 216 | <center> = | 65,536 | <center> 226 | <center> = | 67,108,864 | <center> 236 | <center> = | 68,719,476,736 | |||
<center> 27 | <center> = | 128 | <center> 217 | <center> = | 131,072 | <center> 227 | <center> = | 134,217,728 | <center> 237 | <center> = | 137,438,953,472 | |||
<center> 28 | <center> = | 256 | <center> 218 | <center> = | 262,144 | <center> 228 | <center> = | 268,435,456 | <center> 238 | <center> = | 274,877,906,944 | |||
<center> 29 | <center> = | 512 | <center> 219 | <center> = | 524,288 | <center> 229 | <center> = | 536,870,912 | <center> 239 | <center> = | 549,755,813,888 | |||
<center> 210 | <center> = | 1,024 | <center> 220 | <center> = | 1,048,576 | <center> 230 | <center> = | 1,073,741,824 | <center> 240 | <center> = | 1,099,511,627,776 |
Powers of two whose exponents are powers of two
Because modern memory cells and registers often hold a number of bits which is a power of two, the most frequent powers of two to appear are those whose exponent is also a power of two. For example:
- 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
Several of these numbers represent the number of values representable using common computer data types. For example, a 32-bit word consisting of 4 bytes can represent 232 distinct values, which can either be regarded as mere bit-patterns, or are more commonly interpreted as the unsigned numbers from 0 to 232−1, or as the range of signed numbers between −231 and 231−1.
Other recognizable powers of two
- 210 = 1,024
- 224 = 16,777,216
- The number of unique colors that can be displayed in truecolor, which is used by common computer monitors.
- This number is the result of using the three-channel RGB system, with 8 bits for each channel, or 24 bits in total.
- The number of unique colors that can be displayed in truecolor, which is used by common computer monitors.
Fast algorithm to check if the number is power of two
The numerical binary representation of numbers allows to apply a very fast test if given number x is power of two:
- x is power of two <math>\Leftrightarrow</math> (x & (x-1)) equals zero.
where & is a bitwise logical AND operator.
Examples:
<center> −1 | <center> = | 1...111...1 | <center> −1 | <center> = | 1...111...111...1 | |
<center> x | <center> = | 0...010...0 | <center> y | <center> = | 0...010...010...0 | |
<center> x−1 | <center> = | 0...001...1 | <center> y−1 | <center> = | 0...010...001...1 | |
<center> x & (x−1) | <center> = | 0...000...0 | <center> y & (y−1) | <center> = | 0...010...000...0 |
External links
da:Toerpotens fr:Puissance de deux ko:2의 거듭제곱 it:Potenza di due ja:2の冪 fi:Kahden potenssit sv:Tvåpotens