Tvåpotens

En tvåpotens är ett tal på formen 2n, där n är ett heltal.

Tvåpotenser är särskilt enkla att hantera i det binära talsystemet, då 2n helt enkelt blir en etta följd av n stycken nollor, på samma sätt som en tiopotens blir en etta följd av nollor om den skrivs ut i det decimala talsystemet. Eftersom det binära talsystemet används av digitala system, är tvåpotenser vanligt förekommande i samband med dem. Speciellt gäller att ett n-bitars minne (eller register) kan lagra information motsvarande 2n olika tillstånd. Av det skälet är också det intressantare att räkna tvåpotenser än tiopotenser av datamängder. Därför används där ofta prefixet kilo för 1024 ( = 210) i stället för 1000 ( = 103), i sammanställningen kB ("kilobyte"). På samma sätt används mega för 1048576 = 220 i stället för 1000000, och giga för 1073741824 = 230 i stället för 1000000000, så att exempelvis 1 MB (en "megabyte") är 1024 kB, inte 1000 kB. Eftersom detta språkbruk är något oegentligt har det föreslagits att tvåpotensprefixen skall byta ut sina sista stavelser mot -bi, så att dessa datamängder skulle omtalas som kibibyte, mebibyte och gibibyte; men detta har år 2007 ännu inte blivit gängse språkbruk.

Algoritmer anpassas om möjligt ofta att utnyttja aritmetik med tvåpotenser, eftersom sådana operationer kan utföras mycket effektivt i datorer. Multiplikation med en tvåpotens som ena faktor reduceras exempelvis till att flytta bitarna i den andra faktorn n steg åt vänster, division till motsvarande förflyttning åt höger. Modulo med en tvåpotens kan beräknas genom att kasta bort alla bitar utom de n minst signifikanta. Eftersom register är begränsade till ett fixt antal bitar, sker all aritmetik i n-bitars heltalsregister modulo 2n, ett faktum som till exempel utnyttjas av den snabbaste sortens linjära kongruensgenerator för pseudoslumptal.

Rent matematiskt är tvåpotenser i sig relativt ointressanta. Vissa besläktade taltyper har dock speciella egenskaper. Exempelvis är tal som är ett mindre än tvåpotenser (Mersennetal) relaterade till perfekta tal och utgör kandidater för att hitta stora primtal i form av Mersenneprimtal.

Lista över små tvåpotenser

20 =1210 =1 024220 =1 048 576230 =1 073 741 824
21 =2211 =2 048221 =2 097 152231 =2 147 483 648
22 =4212 =4 096222 =4 194 304232 =4 294 967 296
23 =8213 =8 192223 =8 388 608233 =8 589 934 592
24 =16214 =16 384224 =16 777 216234 =17 179 869 184
25 =32215 =32 768225 =33 554 432235 =34 359 738 368
26 =64216 =65 536226 =67 108 864236 =68 719 476 736
27 =128217 =131 072227 =134 217 728237 =137 438 953 472
28 =256218 =262 144228 =268 435 456238 =274 877 906 944
29 =512219 =524 288229 =536 870 912239 =549 755 813 888

Media som används på denna webbplats

Fibonacci spiral 34.svg
Fibonacci spiral with square sizes up to 34