Warum sind 1 Megabyte nicht 1000 Kilobyte oder 1000000 Byte, sondern 1048576 Byte?

Wenn wir mit den sogenannten SI-Präfixen arbeiten, wissen wir in der Regel was zu tun ist.

Wir nehmen die Grundmaßeinheit beispielsweise Meter und setzen die Präfixe. Zentimeter wenn es kleiner als ein Meter ist Kilometer wenn die Entfernung größer ist. Dabei wird die Zahl 10 als Grundlage genommen und dann potenziert.

Da X0 als 1 definiert ist, gilt 100 als Ausgangspunkt. In unserem Beispiel: Meter. Dann folgen 101 und 102 die als Präfix bei Metern eher ungebräuchlich sind (Dekameter und Hektometer). Bei 103 passt es wieder und wir haben Kilometer. Da 103 1000 ergibt, ergeben 1000 Meter auch einen Kilometer.

In der elektronischen Datenverarbeitung wird als Grundlage nicht die Zahl 10, sondern die 2 gewählt.

Arbeitsspeicher adressieren in den einzelnen Zellen parallele, binäre Leitungen, die dann zu einem Adressbus zusammengefasst werden.
Ein Adressbus mit n Leitungen kann also 2n Speicherzellen adressieren.

Die Speichergrößen nahmen zu und so wurde es üblich die SI-Präfixe auch bei Bits und Bytes zu verwenden (Kilobyte, Megabyte usw.).
Andere Datenspeicher arbeiten mit sequentieller Adressierung und dort gibt es keinen Grund Zweierpotenzen zu nutzen. Dieses führt dazu, dass diese Präfixe mal normgerecht (Basis 10) und mal nicht (Basis 2) genutzt werden.

Um diese Verwirrungen zu vermeiden wurden bereits im Jahre 1998 eine Norm für ein Präfix beschlossen.

Die ersten zwei Buchstaben des SI-Präfix und ein „bi“ zum neuen Präfix geformt. Als Beispiel soll uns Mega dienen. Die ersten beiden Buchstaben sind „ME“ und das ergibt mebi.

Somit sind 1 Megabyte wirklich 1000000 Byte und 1 Mebibyte 1048576 Byte!

(Quelle: Wikipedia)