Flex lexical analyser: Difference between revisions

From formulasearchengine
Jump to navigation Jump to search
en>Cedar101
en>Jason Quinn
2 -> 2nd (twice)
 
(One intermediate revision by one other user not shown)
Line 1: Line 1:
{{Other uses}}
Over time, the data on the difficult drive gets scattered. Defragmenting a difficult drive puts your data into sequential order, making it easier for Windows to access it. As a outcome, the performance of your computer usually enhance. An great registry cleaner might allow do this task. However if you would like to defrag the PC with Windows software. Here a link to show you how.<br><br>Document files allow the consumer to input data, images, tables and alternative elements to improve the presentation. The only problem with this structure compared to additional file kinds such as .pdf for illustration is its ability to be readily editable. This signifies which anybody viewing the file will change it by accident. Additionally, this file format can be opened by other programs yet it does not guarantee that what you see inside the Microsoft Word application usually nonetheless be the same whenever you see it utilizing another system. However, it is actually still preferred by most computer consumers for its ease of use plus qualities.<br><br>H/w connected error handling - when hardware causes BSOD installing latest fixes for the hardware and/ or motherboard may help. We might furthermore add hot hardware which is compatible with all the program.<br><br>Windows errors is caused by any amount of factors, but there's virtually always 1 cause. There's a hidden part of the program which is responsible for creating 90% of all Windows mistakes, plus it's called the 'registry'. This is the central database for your system and is where a computer stores all its system files plus settings. It's a important part of Windows, that is must be capable to function. However, it's furthermore among the biggest causes of issues on a PC.<br><br>Many [http://bestregistrycleanerfix.com/tune-up-utilities tuneup utilities 2014] s let we to download their product for free, to scan the computer oneself. That method you are able to see how many errors it finds, where it finds them, plus how it could fix them. A superb registry cleaner usually remove a registry problems, and optimize and accelerate your PC, with little effort on the piece.<br><br>S/w related error handling - If the blue screen bodily memory dump arises following the installation of s/w application or a driver it may be that there is program incompatibility. By booting into safe mode plus removing the software you are able to instantly fix this error. We might furthermore try out a "program restore" to revert to an earlier state.<br><br>As the hub center of the computer, all of the important settings are stored the registry. Registry is structured as keys and every key relates to a program. The system reads the keys plus utilizes the information to launch and run programs. However, the big problem is that there are too many unwelcome settings, useless info occuping the valuable space. It makes the program run gradually and huge amounts of settings become unreadable.<br><br>Many people create the mistake of struggling to fix Windows registry by hand. I strongly suggest you don't do it. Unless you may be a computer expert, I bet you'll invest hours plus hours understanding the registry itself, let alone fixing it. And why could you waste your valuable time inside learning plus fixing something we know nothing regarding? Why not let a smart plus specialist registry cleaner do it for you? These software programs will be able to work in a better way! Registry cleaners are very affordable because well; you pay a once fee and use it forever. Also, many pro registry cleaners are pretty reliable plus user friendly. If you need more info on how to fix Windows registry, simply see my webpage by clicking the link below!
[[Image:Ten octaves visualization.png|thumb|Visualization of powers of two from 1 to 1024 (2<sup>0</sup> to 2<sup>10</sup>).]]
 
In [[mathematics]], a '''power of two''' means a number of the form {{math|2<sup>''n''</sup>}} where {{mvar|n}} is an [[integer]], i.e. the result of [[exponentiation]] with as base the number [[2 (number)|two]] and as exponent the integer&nbsp;{{mvar|n}}.  
 
In a context where only integers are considered, {{mvar|n}} is restricted to non-negative values,<ref>{{cite book |title=Schaum's Outline of Theory and Problems of Essential Computer Mathematics |first=Seymour |last=Lipschutz |year=1982 |isbn=0-07-037990-4 |page=3 |publisher=McGraw-Hill |location=New York}}</ref> so we have 1, 2, and 2 [[multiplication|multiplied]] by itself a certain number of times.<ref>{{cite book |title=Mathematics Masterclasses |first=Michael J. |last=Sewell |year=1997 |isbn=0-19-851494-8 |page=78 |publisher=Oxford University Press |location=Oxford}}</ref>
 
Because two is the base of the [[binary numeral system]], powers of two are common in [[computer science]]. Written in binary, a power of two always has the form 100…0 or 0.00…01, just like a [[power of ten]] in the [[decimal]] system.
 
==Expressions and notations==
Verbal expressions, mathematical notations, and computer programming expressions using a power operator or function include:
: 2 to the {{mvar|n}}
: 2 to the power of {{mvar|n}}
: 2 power {{mvar|n}}
: power(2, {{mvar|n}})
: pow(2, {{mvar|n}})
: 2<sup>''n''</sup>
: 2 ^ n
: 2 ** n
: 2 ↑ n
 
== Computer science ==
Two to the power of {{mvar|n}}, written as {{math|2<sup>''n''</sup>}}, is the number of ways the [[bit]]s in a [[binary numeral system|binary]] word of length {{mvar|n}} can be arranged. As an unsigned [[integer (computer science)|integers]] these ways represent numbers from 0&nbsp;(0…00) to {{math|2<sup>''n''</sup> − 1}}&nbsp;(1…11) inclusively. Corresponding [[signedness|signed]] integer are positive, negative numbers, and zero; see [[signed number representations]]. Either way, one less than a power of two is often the upper bound of an integer in binary computers. 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 using a [[byte]], which is [[octet (computing)|8 bits long]], to store the number, giving a maximum value of {{math|1=2<sup>8</sup> − 1 = 255}}.  For example, in the original ''[[The Legend of Zelda (video game)|Legend of Zelda]]'' the main character was limited to carrying 255&nbsp;rupees (the currency of the game) at any given time, and the video game [[Pac-Man]] famously shuts down at level&nbsp;255.
 
Powers of two are often used to measure computer memory. A byte is now considered to be eight bits (an [[octet (computing)|octet]], resulting in the possibility of 256 values (2<sup>8</sup>). (The term ''byte'' has been, and in some case continues to be, used to be a [[bit#More than one bit|collection of bits]], typically of 5 to 32 bits, rather than only an 8-bit unit.)  The prefix ''kilo'', in conjunction with ''byte'', may be, and has traditionally been, used, to mean 1,024 (2<sup>10</sup>). However, in general, the term ''kilo'' has been used in the [[International System of Units]] to mean 1,000 (10<sup>3</sup>). [[Binary prefixes]] have been standardized, such as ''kibi''&nbsp;(Ki) meaning 1,024. Nearly all [[processor register]]s have sizes that are powers of two, 32 or 64 being most common.
 
Powers of two occur in a range of other places as well. For many [[disk drive]]s, 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, {{math|1=640 = 512 + 128 = 128 × 5}}, and {{math|1=480 = 32 × 15}}. Put another way, they have fairly regular bit patterns.
 
== Mersenne primes ==
A [[prime number]] that is one less than a power of two is called a [[Mersenne prime]]. For example, the prime number [[thirty-one|31]] is a Mersenne prime because it is 1 less than 32 (2<sup>5</sup>). Similarly, a prime number (like [[257 (number)|257]]) that is one more than a power of two is called a [[Fermat prime]]; the exponent will itself be a power of two.  A [[fraction (mathematics)|fraction]] that has a power of two as its [[denominator]] is called a [[dyadic rational]]. The numbers that can be represented as sums of consecutive positive integers are called [[polite number]]s; they are exactly the numbers that are not powers of two.
 
== Euclid's ''Elements'', Book IX ==
The geometric progression 1, 2, 4, 8, 16, 32, … (or, in the [[binary numeral system]], 1, 10, 100, 1000, 10000, 100000, … ) is important in [[number theory]]. Book&nbsp;IX, Proposition&nbsp;36 of [[Euclid's Elements|''Elements'']] proves that if the sum of the first {{mvar|n}} terms of this progression is a prime number (means, a Mersenne prime mentioned above), then this sum times the {{mvar|n}}th term is a [[perfect number]]. For example, the sum of the first 5 terms of the series 1 + 2 + 4 + 8 + 16 = 31, which is a prime number. The sum 31 multiplied by 16 (the 5th term in the series) equals 496, which is a perfect number.
 
Book&nbsp;IX, Proposition&nbsp;35, proves that in a geometric series if the first term is subtracted from the second and last term in the sequence then as the excess of the second is to the first, so will the excess of the last be to all of those before it. (This is a restatement of our formula for geometric series from above.) Applying this to the geometric progression 31, 62, 124, 248, 496 (which results from 1, 2, 4, 8, 16 by multiplying all terms by 31), we see that 62 minus 31 is to 31 as 496 minus 31 is to the sum of 31, 62, 124, 248. Therefore the numbers 1, 2, 4, 8, 16, 31, 62, 124 and 248 add up to 496 and further these are all the numbers which [[divisor|divide]] 496. For suppose that {{mvar|p}} divides 496 and it is not amongst these numbers. Assume {{math|''p q''}} is equal to {{math|16 × 31}}, or 31 is to {{mvar|q}} as {{mvar|p}} is to 16. Now {{mvar|p}} cannot divide 16 or it would be amongst the numbers 1, 2, 4, 8 or 16.
Therefore 31 cannot divide {{mvar|q}}. And since 31 does not divide {{mvar|q}} and {{mvar|q}} measures 496, the [[fundamental theorem of arithmetic]] implies that {{mvar|q}} must divide 16 and be amongst the numbers 1, 2, 4, 8 or 16. Let {{mvar|q}} be 4, then {{mvar|p}} must be 124, which is impossible since by hypothesis {{mvar|p}} is not amongst the numbers 1, 2, 4, 8, 16, 31, 62, 124 or 248.
 
== The first 96 powers of two ==
 
{| class="wikitable" style="text-align:center"
|- style="background:#e9e9e9;"
|'''2<sup>0</sup>'''  || '''=''' ||align="right"| '''[[1 (number)|1]]'''
|bgcolor="white" rowspan=16|
|'''2<sup>16</sup>''' || '''=''' ||align="right"| '''[[65536 (number)|65,536]]'''
|bgcolor="white" rowspan=16|
|'''2<sup>32</sup>''' || '''=''' ||align="right"| '''4,294,967,296'''
|bgcolor="white" rowspan=16|
|'''2<sup>48</sup>''' || '''=''' ||align="right"| '''281,474,976,710,656'''
|bgcolor="white" rowspan=16|
|'''2<sup>64</sup>''' || '''=''' ||align="right"| '''18,446,744,073,709,551,616'''
|bgcolor="white" rowspan=16|
|'''2<sup>80</sup>''' || '''=''' ||align="right"| '''1,208,925,819,614,629,174,706,176'''
|-----
|2<sup>1</sup>  || = ||align="right"| [[2 (number)|2]]
|2<sup>17</sup> || = ||align="right"| 131,072
|2<sup>33</sup> || = ||align="right"| 8,589,934,592
|2<sup>49</sup> || = ||align="right"| 562,949,953,421,312
|2<sup>65</sup> || = ||align="right"| 36,893,488,147,419,103,232
|2<sup>81</sup> || = ||align="right"| 2,417,851,639,229,258,349,412,352
|-----
|2<sup>2</sup>  || = ||align="right"| [[4 (number)|4]]
|2<sup>18</sup> || = ||align="right"| 262,144
|2<sup>34</sup> || = ||align="right"| 17,179,869,184
|2<sup>50</sup> || = ||align="right"| 1,125,899,906,842,624
|2<sup>66</sup> || = ||align="right"| 73,786,976,294,838,206,464
|2<sup>82</sup> || = ||align="right"| 4,835,703,278,458,516,698,824,704
|-----
|2<sup>3</sup>  || = ||align="right"| [[8 (number)|8]]
|2<sup>19</sup> || = ||align="right"| 524,288
|2<sup>35</sup> || = ||align="right"| 34,359,738,368
|2<sup>51</sup> || = ||align="right"| 2,251,799,813,685,248
|2<sup>67</sup> || = ||align="right"| 147,573,952,589,676,412,928
|2<sup>83</sup> || = ||align="right"| 9,671,406,556,917,033,397,649,408
|-----
|'''2<sup>4</sup>'''  || '''=''' ||align="right"| '''[[16 (number)|16]]'''
|'''2<sup>20</sup>''' || '''=''' ||align="right"| '''1,048,576'''
|'''2<sup>36</sup>''' || '''=''' ||align="right"| '''68,719,476,736'''
|'''2<sup>52</sup>''' || '''=''' ||align="right"| '''4,503,599,627,370,496'''
|'''2<sup>68</sup>''' || '''=''' ||align="right"| '''295,147,905,179,352,825,856'''
|'''2<sup>84</sup>''' || '''=''' ||align="right"| '''19,342,813,113,834,066,795,298,816'''
|-----
|2<sup>5</sup>  || = ||align="right"| [[32 (number)|32]]
|2<sup>21</sup> || = ||align="right"| 2,097,152
|2<sup>37</sup> || = ||align="right"| 137,438,953,472
|2<sup>53</sup> || = ||align="right"| 9,007,199,254,740,992
|2<sup>69</sup> || = ||align="right"| 590,295,810,358,705,651,712
|2<sup>85</sup> || = ||align="right"| 38,685,626,227,668,133,590,597,632
|-----
|2<sup>6</sup>  || = ||align="right"| [[64 (number)|64]]
|2<sup>22</sup> || = ||align="right"| 4,194,304
|2<sup>38</sup> || = ||align="right"| 274,877,906,944
|2<sup>54</sup> || = ||align="right"| 18,014,398,509,481,984
|2<sup>70</sup> || = ||align="right"| 1,180,591,620,717,411,303,424
|2<sup>86</sup> || = ||align="right"| 77,371,252,455,336,267,181,195,264
|-----
|2<sup>7</sup>  || = ||align="right"| [[128 (number)|128]]
|2<sup>23</sup> || = ||align="right"| 8,388,608
|2<sup>39</sup> || = ||align="right"| 549,755,813,888
|2<sup>55</sup> || = ||align="right"| 36,028,797,018,963,968
|2<sup>71</sup> || = ||align="right"| 2,361,183,241,434,822,606,848
|2<sup>87</sup> || = ||align="right"| 154,742,504,910,672,534,362,390,528
|-----
|- style="background:#e9e9e9;"
|'''2<sup>8</sup>'''  || '''=''' ||align="right"| '''[[256 (number)|256]]'''
|'''2<sup>24</sup>''' || '''=''' ||align="right"| '''16,777,216'''
|'''2<sup>40</sup>''' || '''=''' ||align="right"| '''1,099,511,627,776'''
|'''2<sup>56</sup>''' || '''=''' ||align="right"| '''72,057,594,037,927,936'''
|'''2<sup>72</sup>''' || '''=''' ||align="right"| '''4,722,366,482,869,645,213,696'''
|'''2<sup>88</sup>''' || '''=''' ||align="right"| '''309,485,009,821,345,068,724,781,056'''
|-----
|2<sup>9</sup>  || = ||align="right"| [[512 (number)|512]]
|2<sup>25</sup> || = ||align="right"| 33,554,432
|2<sup>41</sup> || = ||align="right"| 2,199,023,255,552
|2<sup>57</sup> || = ||align="right"| 144,115,188,075,855,872
|2<sup>73</sup> || = ||align="right"| 9,444,732,965,739,290,427,392
|2<sup>89</sup> || = ||align="right"| 618,970,019,642,690,137,449,562,112
|-----
|2<sup>10</sup> || = ||align="right"|[[1024 (number)|1,024]]
|2<sup>26</sup> || = ||align="right"| 67,108,864
|2<sup>42</sup> || = ||align="right"| 4,398,046,511,104
|2<sup>58</sup> || = ||align="right"| 288,230,376,151,711,744
|2<sup>74</sup> || = ||align="right"| 18,889,465,931,478,580,854,784
|2<sup>90</sup> || = ||align="right"| 1,237,940,039,285,380,274,899,124,224
|-----
|2<sup>11</sup> || = ||align="right"| 2,048
|2<sup>27</sup> || = ||align="right"| 134,217,728
|2<sup>43</sup> || = ||align="right"| 8,796,093,022,208
|2<sup>59</sup> || = ||align="right"| 576,460,752,303,423,488
|2<sup>75</sup> || = ||align="right"| 37,778,931,862,957,161,709,568
|2<sup>91</sup> || = ||align="right"| 2,475,880,078,570,760,549,798,248,448
|-----
|'''2<sup>12</sup>''' || '''=''' ||align="right"| '''4,096'''
|'''2<sup>28</sup>''' || '''=''' ||align="right"| '''268,435,456'''
|'''2<sup>44</sup>''' || '''=''' ||align="right"| '''17,592,186,044,416'''
|'''2<sup>60</sup>''' || '''=''' ||align="right"| '''1,152,921,504,606,846,976'''
|'''2<sup>76</sup>''' || '''=''' ||align="right"| '''75,557,863,725,914,323,419,136'''
|'''2<sup>92</sup>''' || '''=''' ||align="right"| '''4,951,760,157,141,521,099,596,496,896'''
|-----
|2<sup>13</sup> || = ||align="right"| 8,192
|2<sup>29</sup> || = ||align="right"| 536,870,912
|2<sup>45</sup> || = ||align="right"| 35,184,372,088,832
|2<sup>61</sup> || = ||align="right"| 2,305,843,009,213,693,952
|2<sup>77</sup> || = ||align="right"| 151,115,727,451,828,646,838,272
|2<sup>93</sup> || = ||align="right"| 9,903,520,314,283,042,199,192,993,792
|-----
|2<sup>14</sup> || = ||align="right"| 16,384
|2<sup>30</sup> || = ||align="right"| 1,073,741,824
|2<sup>46</sup> || = ||align="right"| 70,368,744,177,664
|2<sup>62</sup> || = ||align="right"| 4,611,686,018,427,387,904
|2<sup>78</sup> || = ||align="right"| 302,231,454,903,657,293,676,544
|2<sup>94</sup> || = ||align="right"| 19,807,040,628,566,084,398,385,987,584
|-----
|2<sup>15</sup> || = ||align="right"| 32,768
|2<sup>31</sup> || = ||align="right"| 2,147,483,648
|2<sup>47</sup> || = ||align="right"| 140,737,488,355,328
|2<sup>63</sup> || = ||align="right"| 9,223,372,036,854,775,808
|2<sup>79</sup> || = ||align="right"| 604,462,909,807,314,587,353,088
|2<sup>95</sup> || = ||align="right"| 39,614,081,257,132,168,796,771,975,168
|}
One can see that starting with&nbsp;2 the last digit is periodic with period&nbsp;4, with the cycle 2–4–8–6–, and starting with&nbsp;4 the last two digits are periodic with period&nbsp;20. These patterns are generally true of any power, with respect to any [[radix|base]]. The pattern continues, of course, where each pattern has starting point {{math|2<sup>''k''</sup>}} length the [[multiplicative order]] of 2&nbsp;modulo&nbsp;{{math|5<sup>''k''</sup>}}.
 
==  Powers of 1024  ==
The first few powers of 2<sup>10</sup> are a little more than those of 1000:
{|
|2<sup>10</sup>||=||align="left"|1&nbsp;024||≈ 1000<sup>1</sup>||align="right"|(2.4% deviation)
|-
|2<sup>20</sup>||=||align="left"|1&nbsp;048&nbsp;576||≈ 1000<sup>2</sup>||align="right"|(4.9% deviation)
|-
|2<sup>30</sup>||=||align="left"|1&nbsp;073&nbsp;741&nbsp;824||≈ 1000<sup>3</sup>||align="right"|(7.4% deviation)
|-
|2<sup>40</sup>||=||align="left"|1&nbsp;099&nbsp;511&nbsp;627&nbsp;776||≈ 1000<sup>4</sup>||align="right"|(10% deviation)
|-
|2<sup>50</sup>||=||align="left"|1&nbsp;125&nbsp;899&nbsp;906&nbsp;842&nbsp;624||≈ 1000<sup>5</sup>||align="right"|(12.6% deviation)
|-
|2<sup>60</sup>||=||align="left"|1&nbsp;152&nbsp;921&nbsp;504&nbsp;606&nbsp;846&nbsp;976||≈ 1000<sup>6</sup>||align="right"|(15.3% deviation)
|-
|2<sup>70</sup>||=||align="left"|1&nbsp;180&nbsp;591&nbsp;620&nbsp;717&nbsp;411&nbsp;303&nbsp;424||≈ 1000<sup>7</sup>||align="right"|(18.1% deviation)
|}
See also [[IEEE 1541-2002]].
 
== Powers of two whose exponents are powers of two ==
Because data (specifically integers) and the addresses of data are stored using the same hardware, and the data is stored in one or more octets ({{math|2<sup>3</sup>}}), [[double exponential function|double exponential]]s of two are common. For example,
 
: 2<sup>1</sup> = [[2 (number)|2]]
: 2<sup>2</sup> = [[4 (number)|4]]
: 2<sup>4</sup> = [[16 (number)|16]]
: 2<sup>8</sup> = [[256 (number)|256]]
: 2<sup>16</sup> = [[65536 (number)|65,536]]
: 2<sup>32</sup> = 4,294,967,296
: 2<sup>64</sup> = 18,446,744,073,709,551,616
: 2<sup>128</sup> = 340,282,366,920,938,463,463,374,607,431,768,211,456
: 2<sup>256</sup> = 115,792,089,237,316,195,423,570,985,008,687,907,853,269,984,665,640,564,039,457,584,007,913,129,639,936
: 2<sup>512</sup> = 13,407,807,929,942,597,099,574,024,998,205,846,127,479,365,820,592,393,377,723,561,443,721,764,030,073,546,976,801,874,298,166,903,427,690,031,858,186,486,050,853,753,882,811,946,569,946,433,649,006,084,096 (154 digits)
: 2<sup>1,024</sup> = 1.797693134862315907729305190789&times;10<sup>308</sup>
: 2<sup>2,048</sup> = 3.231700607131100730071487668867&times;10<sup>616</sup>
: 2<sup>4,096</sup> = 1.0443888814131525066917527107166&times;10<sup>1,233</sup>
: 2<sup>8,192</sup> = 1.0907481356194159294629842447338&times;10<sup>2,466</sup>
: 2<sup>16,384</sup> = 1.189731495357231765085759326628&times;10<sup>4,932</sup>
: 2<sup>32,768</sup> = 1.415461031044954789001553027745&times;10<sup>9,864</sup>
 
Several of these numbers represent the number of values representable using common [[data type|computer data types]]. For example, a 32-bit word consisting of 4&nbsp;bytes can represent {{math|2<sup>32</sup>}} distinct values, which can either be regarded as mere bit-patterns, or are more commonly interpreted as the unsigned numbers from 0 to {{math|2<sup>32</sup> − 1}}, or as the range of signed numbers between {{math|−2<sup>31</sup>}} and {{math|2<sup>31</sup> − 1}}. Also see [[tetration]] and [[hyperoperation#Lower hyperoperations|lower hyperoperations]]. For more about representing signed numbers see [[two's complement]].
 
In a connection with [[nimber]]s these numbers are often called ''[[Pierre de Fermat|Fermat]] 2-powers''.
 
The numbers <math>2^{2^n}</math> form an [[irrationality sequence]]: for every sequence of [[positive integer]]s, the [[series (mathematics)|series]]
:<math>\sum_{i=0}^{\infty} \frac{1}{2^{2^i} x_i}  = \frac{1}{2x_0}+\frac{1}{4x_1}+\frac{1}{16x_2}+\cdots</math>
converges to an [[irrational number]]. Despite the rapid growth of this sequence, it is the slowest-growing irrationality sequence known.<ref>{{citation |last=Guy | first=Richard K. | authorlink=Richard K. Guy | title=Unsolved problems in number theory | publisher=[[Springer-Verlag]] |edition=3rd | year=2004 |isbn=0-387-20860-7 | zbl=1058.11001 | contribution=E24 Irrationality sequences|page=346|url=http://books.google.com/books?id=1AP2CEGxTkgC&pg=PA346 }}.</ref>
 
== Some selected powers of two ==
; 2<sup>8</sup> = 256
:The number of values represented by the 8 [[bit]]s in a [[byte]], more specifically termed as an [[octet (computing)|octet]].  (The term [[byte]] is often defined as a [[bit#More than one bit|collection of bits]] rather than the strict definition of an 8-bit quantity, as demonstrated by the term [[kilobyte]].)
; 2<sup>10</sup> = 1,024
: The binary approximation of the [[kilo-]], or 1,000 multiplier, which causes a change of prefix. For example: 1,024&nbsp;[[byte]]s = 1&nbsp;[[kilobyte]] (or [[kibibyte]]).
: This number has no special significance to computers, but is important to humans because we make use of powers of ten.
; 2<sup>12</sup> = 4,096
: The hardware [[Page (computing)|page]] size of [[Intel x86]] processor.
; 2<sup>16</sup> = 65,536
: The number of distinct values representable in a single [[Word (data type)|word]] on a [[16-bit]] processor, such as the original [[x86]] processors.<ref name="iword">Though they vary in word size, all x86 processors use the term "word" to mean 16&nbsp;bits; thus, a 32-bit x86 processor refers to its native wordsize as a dword</ref>
: The maximum range of a [[short integer]] variable in the [[C Sharp (programming language)|C#]], and [[Java (programming language)|Java]] programming languages. The maximum range of a '''Word''' or '''Smallint''' variable in the [[Pascal (programming language)|Pascal]] programming language.
; 2<sup>20</sup> = 1,048,576
: The binary approximation of the [[mega-]], or 1,000,000 multiplier, which causes a change of prefix. For example: 1,048,576&nbsp;[[byte]]s = 1&nbsp;[[megabyte]] (or [[mibibyte]]).
: This number has no special significance to computers, but is important to humans because we make use of powers of ten.
; 2<sup>24</sup> = 16,777,216
: The number of unique [[color]]s that can be displayed in [[True Color|truecolor]], which is used by common [[computer monitor]]s.
: This number is the result of using the three-channel [[RGB]] system, with 8&nbsp;bits for each channel, or 24&nbsp;bits in total.
; 2<sup>30</sup> = 1,073,741,824
: The binary approximation of the [[giga-]], or 1,000,000,000 multiplier, which causes a change of prefix. For example, 1,073,741,824 [[byte]]s = 1&nbsp;[[gigabyte]] (or [[gibibyte]]).
: This number has no special significance to computers, but is important to humans because we make use of powers of ten.
; 2<sup>31</sup> = 2,147,483,648
: The number of non-negative values for a ''signed'' 32-bit integer. Since [[Unix time]] is measured in seconds since January 1, 1970, it will run out at 2,147,483,647 seconds or 03:14:07 UTC on Tuesday, 19 January 2038 on 32-bit computers running Unix, a problem known as the [[year 2038 problem]].
; 2<sup>32</sup> = 4,294,967,296
: The number of distinct values representable in a single [[Word (data type)|word]] on a [[32-bit]] processor. Or, the number of values representable in a [[Word (data type)#Size families|doubleword]] on a [[16-bit]] processor, such as the original [[x86]] processors.<ref name="iword"/>
: The range of an <code>[[integer (computer science)|int]]</code> variable in the [[Java (programming language)|Java]] and [[C Sharp (programming language)|C#]] programming languages.
: The range of a <code>Cardinal</code> or <code>Integer</code> variable in the [[Pascal (programming language)|Pascal]] programming language.
: The minimum range of a [[long integer]] variable in the [[C (programming language)|C]] and [[C++]] programming languages.
: The total number of [[IP address]]es under [[IPv4]]. Although this is a seemingly large number, [[IPv4 address exhaustion]] is imminent.
; 2<sup>40</sup> = 1,099,511,627,776
: The binary approximation of the [[tera-]], or 1,000,000,000,000 multiplier, which causes a change of prefix. For example, 1,099,511,627,776 [[byte]]s = 1 [[terabyte]] (or [[tebibyte]]).
: This number has no special significance to computers, but is important to humans because we make use of powers of ten.
; 2<sup>50</sup> = 1,125,899,906,842,624
: The binary approximation of the [[peta-]], or 1,000,000,000,000,000 multiplier. 1,125,899,906,842,624 [[byte]]s = 1 [[petabyte]] (or [[pebibyte]]).
; 2<sup>60</sup> = 1,152,921,504,606,846,976
: The binary approximation of the [[exa-]], or 1,000,000,000,000,000,000 multiplier.  1,152,921,504,606,846,976 [[byte]]s = 1 [[exabyte]] (or [[exbibyte]]).
; 2<sup>64</sup> = 18,446,744,073,709,551,616
: The number of distinct values representable in a single [[Word (data type)|word]] on a [[64-bit]] processor. Or, the number of values representable in a [[Word (data type)#Size families|doubleword]] on a [[32-bit]] processor. Or, the number of values representable in a [[Word (data type)#Size families|quadword]] on a [[16-bit]] processor, such as the original [[x86]] processors.<ref name="iword"/>
: The range of a [[long integer|long]] variable in the [[Java (programming language)|Java]] and [[C Sharp (programming language)|C#]] programming languages.
: The range of a '''Int64''' or '''QWord''' variable in the [[Pascal (programming language)|Pascal]] programming language.
: The total number of [[IPv6]] addresses generally given to a single LAN or subnet.
: One more than the number of grains of rice on a chessboard, [[Wheat and chessboard problem|according to the old story]], where the first square contains one grain of rice and each succeeding square twice as many as the previous square. For this reason the number 2<sup>64</sup> – 1 is known as the "chess number".
; 2<sup>70</sup> = 1,180,591,620,717,411,303,424
: The binary approximation of [[yotta-]], or 1,000,000,000,000,000,000,000 multiplier, which causes a change of prefix. For example, 1,180,591,620,717,411,303,424 bytes = 1 [[Yottabyte]] (or yebibite).
; 2<sup>86</sup> = 77,371,252,455,336,267,181,195,264
: 86 is conjectured to be the largest power of two not containing a zero.<ref>Weisstein, Eric W. "Zero." From MathWorld--A Wolfram Web Resource. http://mathworld.wolfram.com/Zero.html</ref>
; 2<sup>96</sup> = 79,228,162,514,264,337,593,543,950,336
: The total number of [[IPv6]] addresses generally given to a [[local Internet registry]]. In [[CIDR]] notation, ISPs are given a /32, which means that 128-32=96 bits are available for addresses (as opposed to network designation). Thus, 2<sup>96</sup> addresses.
; 2<sup>128</sup> = 340,282,366,920,938,463,463,374,607,431,768,211,456
: The total number of IP addresses available under [[IPv6]]. Also the number of distinct [[Universally unique identifier|universally unique identifiers (UUIDs)]].
; 2<sup>57,885,161</sup> = 581,887,266,…,724,285,952
: One more than the [[largest known prime number]] {{As of|2013|lc=on}}. It has more than 17 million digits.<ref>http://lightyears.blogs.cnn.com/2013/02/06/largest-prime-number-yet-discovered/?hpt=hp_t2</ref>
 
==Fast algorithm to check if a positive number is a power of two==
The [[binary numeral system|binary representation]] of integers makes it possible to apply a very fast test to determine whether a given [[positive integer]]&nbsp;{{mvar|x}} is a power of two:
 
:positive {{mvar|x}} is a power of two ⇔ {{math|(''x'' &amp; (''x'' − 1))}} is equal to zero.
 
where ''&amp;'' is a [[bitwise operation|bitwise logical ''AND'' operator]].  Note that if {{mvar|x}} is 0, this incorrectly indicates that 0 is a power of two, so this check only works if {{math|''x'' > 0}}.
Examples:
{|border="0"
|-----
|<center> −1
|<center> =
|1…111…1
|
|<center> −1
|<center> =
|1…111…111…1
|-----
|<center>  x
|<center> =
|0…010…0
|width="150px"|
|<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
|}
'''Proof of Concept:'''<br>
Proof uses the technique of contrapositive.<br>
Statement, S: If x&(x-1) = 0 and x is an integer greater than zero then x = 2<sup>k</sup> (where k is an integer such that k>=0).
 
'''Concept of Contrapositive:'''<br>
S1: P -> Q is same as S2: ~Q -> ~P<br>
In above statement S1 and S2 both are contrapositive of each other.<br>
So statement S can be re-stated as below<br>
S': If x is a positive integer and x ≠ 2<sup>k</sup> (k is some non negative integer)then x&(x-1) ≠ 0<br>
'''Proof:'''<br>
If x ≠ 2<sup>k</sup> then at least two bits of x are set.(Let's assume m bits are set.)<br>
Now, bit pattern of x - 1 can be obtained by inverting all the bits of x up to first set bit of x (starting from [[Least significant bit|LSB]] and moving towards [[Most significant bit|MSB]], this set bit inclusive).<br>
Now, we observe that expression x & (x-1) has all the bits zero up to the first set bit of x and since x & (x-1) has remaining bits same as x and x has at least two set bits hence predicate x & (x-1) ≠ 0 is true.
 
===Fast algorithm to find a number modulo a power of two===
As a generalization of the above, the [[binary numeral system|binary representation]] of integers makes it possible to calculate the [[modular arithmetic|modulos]] of a non-negative integer ({{mvar|x}}) with a power of two ({{mvar|y}}) very quickly:
 
:{{math|1=''x'' mod ''y'' = (''x'' &amp; (''y'' − 1))}}.
 
where ''&amp;'' is a [[bitwise operation|bitwise logical ''AND'' operator]]. This bypasses the need to perform an expensive division. This is useful if the modulo operation is a significant part of the performance critical path as this can be much faster than the regular modulo operator.
 
== Algorithm to convert any number into nearest power of two number ==
 
The following formula finds the nearest power of two, on a [[logarithmic scale]], of a given value {{math|x > 0}}:
 
:<math>2^{\mathrm{round}[\log_2 (x)]}</math>
 
This should be distinguished from the nearest power of two on a linear scale. For example, 23 is nearer to 16 than it is to 32, but the previous formula rounds it to 32, corresponding to the fact that 23/16&nbsp;=&nbsp;1.4375, larger than 32/23&nbsp;=&nbsp;1.3913.
 
If {{mvar|x}} is an integer value, following steps can be taken to find the nearest value (with respect to actual value rather than the [[binary logarithm]]) in a computer program:
# Find the most significant bit position&nbsp;{{mvar|k}}, that is set (''1'') from the binary representation of&nbsp;{{mvar|x}}, when {{math|''k'' = 0}} means the [[least significant bit]]
# Then, if bit {{math|''k'' − 1}} is zero, the result is {{math|2<sup>k</sup>}}. Otherwise the result is {{math|2<sup>k + 1</sup>}}.
 
== Algorithm to round up to power of two ==
 
Sometimes it is desired to find the least power of two that is not less than a particular integer, ''n''. The pseudocode for an algorithm to compute the next-higher power of two is as follows. If the input is a power of two it is returned unchanged.<ref>{{Cite book | first1=Henry S. | last1=Warren Jr. | title=Hacker's Delight | publisher=Addison Wesley | year=2002 | isbn=978-0-201-91465-8 | page=48 | postscript=<!--None-->}}</ref>
 
<source lang="c">
n = n - 1;
n = n | (n >> 1);
n = n | (n >> 2);
n = n | (n >> 4);
n = n | (n >> 8);
n = n | (n >> 16);
...
n = n | (n >> (bitspace / 2));
n = n + 1;
</source>
 
Where ''|'' is a binary or operator, ''>>'' is the binary right-shift operator, and bitspace is the size (in bits) of the integer space represented by n. For most computer architectures, this value is either 8, 16, 32, or 64. This operator works by setting all bits on the right-hand side of the most significant flagged bit to ''1'', and then incrementing the entire value at the end so it "rolls over" to the nearest power of two. An example of each step of this algorithm for the number 2689 is as follows:
 
{| class="wikitable"
|-
! Binary representation
! Decimal representation
|-
| <tt>0101010000001</tt>
| 2,689
|-
| <tt>0101010000000</tt>
| 2,688
|-
| <tt>0111111000000</tt>
| 4,032
|-
| <tt>0111111110000</tt>
| 4,080
|-
| <tt>0111111111111</tt>
| 4,095
|-
| <tt>1000000000000</tt>
| 4,096
|}
 
As demonstrated above, the algorithm yields the correct value of 4,096. The nearest power to 2,689 happens to be 2,048; however, this algorithm is designed only to give the ''next highest'' power of two to a given number, not the nearest.
 
Another way of obtaining the 'next highest' power of two to a given number independent of the length of the bitspace is as follows.
 
<source lang="c">
unsigned int get_nextpowerof2(unsigned int n)
{
/*
  * Below indicates passed no is a power of 2, so return the same.
  */
if (!(n & (n-1))) {
    return (n);
}
 
 
while (n & (n-1)) {
    n = n & n-1;
}
 
n = n << 1;
return n;
}
 
</source>
 
==Other properties==
The sum of all {{mvar|n}}-choose [[binomial coefficient]]s is equal to {{math|2<sup>''n''</sup>}}. Consider the set of all {{mvar|n}}-digit binary integers. Its [[cardinality]] will be {{math|2<sup>''n''</sup>}}. It will also be the sums of the cardinalities of certain subsets: the subset of integers with no 1s (consisting of a single number, written as {{mvar|n}} 0s), the subset with a single 1, the subset with two 1s, and so on up to the subset with {{mvar|n}} 1s (consisting of the number written as {{mvar|n}} 1s). Each of these is in turn equal to the binomial coefficient indexed by {{mvar|n}} and the number of 1s being considered (e.g., there are 10-choose-3 binary numbers with ten digits that include exactly three 1s).
 
The number of [[vertex (geometry)|vertices]] of an {{mvar|n}}-dimensional [[hypercube]] is {{math|2<sup>''n''</sup>}}. Similarly, the number of {{math|(''n'' − 1)}}-faces of an {{mvar|n}}-dimensional [[cross-polytope]] is also {{math|2<sup>''n''</sup>}} and the formula for the number of {{mvar|x}}-faces an {{mvar|n}}-dimensional cross-polytope has is <math>\scriptstyle 2^x{n\choose x}</math>.
 
The [[1/2 + 1/4 + 1/8 + 1/16 + · · ·|sum of the reciprocals of the powers of two]] is [[2 (number)|2]]. The [[1/4 + 1/16 + 1/64 + 1/256 + · · ·|sum of the reciprocals of the squared powers of two]] is 1⅓.
 
==See also==
* [[Geometric progression]]
* [[Binary logarithm#Integer|Integer binary logarithm]]
* [[Inchworm Song]]
* [[Octave (electronics)]]
* [[Sum-free sequence]]
 
==References==
{{reflist}}
 
==External links==
*{{SloanesRef |sequencenumber=A000079 |name=2<sup>n</sup>}} (Powers of two)
**{{SloanesRef |sequencenumber=A001146 |name=2<sup>(2<sup>n</sup>)</sup>}} (Powers of two whose exponents are powers of two)
 
{{Series (mathematics)}}
{{Classes of natural numbers}}
 
{{DEFAULTSORT:Power Of Two}}
[[Category:Binary arithmetic]]
[[Category:Integer sequences]]
[[Category:Integers]]

Latest revision as of 14:37, 16 November 2014

Over time, the data on the difficult drive gets scattered. Defragmenting a difficult drive puts your data into sequential order, making it easier for Windows to access it. As a outcome, the performance of your computer usually enhance. An great registry cleaner might allow do this task. However if you would like to defrag the PC with Windows software. Here a link to show you how.

Document files allow the consumer to input data, images, tables and alternative elements to improve the presentation. The only problem with this structure compared to additional file kinds such as .pdf for illustration is its ability to be readily editable. This signifies which anybody viewing the file will change it by accident. Additionally, this file format can be opened by other programs yet it does not guarantee that what you see inside the Microsoft Word application usually nonetheless be the same whenever you see it utilizing another system. However, it is actually still preferred by most computer consumers for its ease of use plus qualities.

H/w connected error handling - when hardware causes BSOD installing latest fixes for the hardware and/ or motherboard may help. We might furthermore add hot hardware which is compatible with all the program.

Windows errors is caused by any amount of factors, but there's virtually always 1 cause. There's a hidden part of the program which is responsible for creating 90% of all Windows mistakes, plus it's called the 'registry'. This is the central database for your system and is where a computer stores all its system files plus settings. It's a important part of Windows, that is must be capable to function. However, it's furthermore among the biggest causes of issues on a PC.

Many tuneup utilities 2014 s let we to download their product for free, to scan the computer oneself. That method you are able to see how many errors it finds, where it finds them, plus how it could fix them. A superb registry cleaner usually remove a registry problems, and optimize and accelerate your PC, with little effort on the piece.

S/w related error handling - If the blue screen bodily memory dump arises following the installation of s/w application or a driver it may be that there is program incompatibility. By booting into safe mode plus removing the software you are able to instantly fix this error. We might furthermore try out a "program restore" to revert to an earlier state.

As the hub center of the computer, all of the important settings are stored the registry. Registry is structured as keys and every key relates to a program. The system reads the keys plus utilizes the information to launch and run programs. However, the big problem is that there are too many unwelcome settings, useless info occuping the valuable space. It makes the program run gradually and huge amounts of settings become unreadable.

Many people create the mistake of struggling to fix Windows registry by hand. I strongly suggest you don't do it. Unless you may be a computer expert, I bet you'll invest hours plus hours understanding the registry itself, let alone fixing it. And why could you waste your valuable time inside learning plus fixing something we know nothing regarding? Why not let a smart plus specialist registry cleaner do it for you? These software programs will be able to work in a better way! Registry cleaners are very affordable because well; you pay a once fee and use it forever. Also, many pro registry cleaners are pretty reliable plus user friendly. If you need more info on how to fix Windows registry, simply see my webpage by clicking the link below!