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 = 1 210 = 1 024 220 = 1 048 576 230 = 1 073 741 824
21 = 2 211 = 2 048 221 = 2 097 152 231 = 2 147 483 648
22 = 4 212 = 4 096 222 = 4 194 304 232 = 4 294 967 296
23 = 8 213 = 8 192 223 = 8 388 608 233 = 8 589 934 592
24 = 16 214 = 16 384 224 = 16 777 216 234 = 17 179 869 184
25 = 32 215 = 32 768 225 = 33 554 432 235 = 34 359 738 368
26 = 64 216 = 65 536 226 = 67 108 864 236 = 68 719 476 736
27 = 128 217 = 131 072 227 = 134 217 728 237 = 137 438 953 472
28 = 256 218 = 262 144 228 = 268 435 456 238 = 274 877 906 944
29 = 512 219 = 524 288 229 = 536 870 912 239 = 549 755 813 888