att det i datorsammanhang står för 1,048,576 och inte 1,000,000 beror på en felanvändaning av prefixet "mega".
Detta kommer sig av att datorer använder det binära talsystemet istället för det decimala.
Det binära talsystemet "jobbar" med "powers of two" (kom inte på vad det heter på svenska).
Det decimala systemet jobbar som bekant med "powers of ten" (varje siffra till vänster om en annan siffra har 10ggr föregående siffras värde).
I en binär sträng har siffran längs till höger ett värde av ett. Den näst till höger har värdet två (2x1). Dvs:
Källkod:
Binär Decimal
01 1
10 2
11 3
Förlänger man den binära koden till 8 siffror (storleken av en byte) så kommer den sifran längst till vänster att ha värdet 128. (1*2*2*2*2*2*2*2).
Källkod:
Binär Decimal
10000000 128
10000001 129
10000010 130
10000100 132
10001000 136
10010000 144 o.s.v...
den första (den längst till höger) siffran i det binära talet kan beskrivas som 2^0, nästa som 2^1, nästa som 2^2, nästa som 2^3 o.s.v. Siffran längst till vänster i ett åttabitarstal beskrivs som 2^7.
Detta ger att "kilo" (felaktig användning av SI-standardprefixet "kilo". "Kiki" är ett nytt, ej än framgångrikt prefix) defineras som 2^10 (1*2*2*2*2*2*2*2*2*2*2). 2^10=1024.
prefixet "mega" defineras som "kilo+kilo", eller 2^20 = 1,048,576.
Hoppas att min förklaring inte blev aldeles för krånglig.