MiB in B umrechnen

MiB
1048576B

1 MiB = 1048576 B

Trag einen Wert ein, und die Umrechnung von Mebibyte nach Byte läuft mit, während du tippst. Auf 1 MiB kommen 1048576 B — ein Verhältnis, das per Definition feststeht und nicht gemessen wurde. Gerechnet wird auf deinem eigenen Gerät: Die Zahl, die du eintippst, wird nie Teil einer Anfrage — Werbung lädt die Seite drumherum wie jede andere.

  • Wo es läuft In deinem Browser. Was du eintippst, wird nie Teil einer Anfrage.
  • Per Definition exakt 1 MiB sind exakt 1048576 B — festgelegt, nicht gerundet.
  • Antwort beim Tippen Kein Button, kein Warten. Die ausgerechnete Antwort steht auf der Seite, bevor irgendein Skript läuft.

Mebibyte in Byte: Beispiele aus der Praxis

  • 700 MiB is 734000000 B

    — eine Audio-CD — daher stammt die Zahl.

  • 8 MiB is 8389000 B

    — ein Speicherblock, wie ihn ein Programm anfordert.

  • 4,768 MiB is 5000000 B

    — ein Handyfoto.

  • 0,0009766 MiB is 1024 B

    — ein Kibibyte — hier fängt die Verwirrung an.

Mebibyte in Byte auf einen Blick

Jede Zahl hier wird aus derselben Definition berechnet wie die Antwort oben — die Tabelle kann also gar nicht davon abweichen.
MiBB
11048576
22097152
55242880
1010485760
5052428800
100104857600
500524288000
10001048576000

Mebibyte und Byte

Ein Mebibyte sind 1.024 Kibibyte, also 1.048.576 Byte. Linux-Werkzeuge und Speicherangaben meinen in aller Regel das, auch wenn „MB" dasteht.

Ein Byte sind acht Bit, was nicht immer feststand — frühe Rechner nutzten sechs, sieben oder neun. Acht setzte sich durch, weil damit ein Schriftzeichen hineinpasst und die Zahl sich sauber halbieren lässt.

Mebibyte: genau 1.048.576 Byte

In dieser Richtung wird multipliziert, und zwar mit einer ganzen Zahl: ein Mebibyte sind 1.048.576 Byte, exakt. 1.048.576 ist die Definition und keine Messung, die knapp danebenlag.

Damit ist es eine der wenigen Umrechnungen, die sich im Kopf lohnen, und das Ergebnis lässt sich prüfen: rechne zurück, und du musst exakt auf der Ausgangszahl landen, ohne Rest, den man wegerklären müsste.

MiB ist die binäre Einheit

Ein MiB sind 1.024 der Einheit darunter, ein MB sind 1.000. Auf dieser Seite ist das der Unterschied zwischen 1048576 B und 1000000 B — 4,9 % —, und der Abstand wächst mit jeder Stufe. Bei einem Foto ist er ein Rundungsfehler, bei einer Festplatte ein sichtbares Stück.

Darin besteht das Rätsel um den fehlenden Speicherplatz vollständig. Eine Platte, die als MB verkauft wird, enthält exakt das, was draufsteht; Windows teilt anschließend durch 1.024 statt durch 1.000, behält den dezimalen Namen bei und zeigt deshalb eine kleinere Zahl an. macOS rechnet seit Version 10.6 in den dezimalen Einheiten und zeigt die Zahl von der Verpackung — dieselbe Platte, zwei Rechner, zwei Größen, und verloren geht dabei nichts.

Der Wert, der exakt sein muss, nicht lesbar

Die meisten Größenumrechnungen existieren, damit sich jemand eine Menge vorstellen kann. Diese hier existiert meist, damit eine Maschine sie durchsetzt. Ein Upload-Limit, eine Heap-Größe, eine Puffergrenze in einer Multipart-Übertragung — jede davon ist eine Ganzzahl, gegen die verglichen wird, und ein hübsch gerundeter Wert scheitert am Rand statt in der Mitte, wo es niemandem auffällt.

Die brauchbare Zahl ist deshalb 1.048.576 und ihre Vielfachen, keine Näherung: Zehn MiB sind 10.485.760 Byte, 64 MiB sind 67.108.864, 512 MiB sind 536.870.912. Jede dieser Zahlen wurde diese Woche irgendwo in eine Konfigurationsdatei getippt, und jede ist eine Ziffer von einem Wert entfernt, der still um 4,86 Prozent daneben liegt.

Suffixe, die MiB meinen, ohne MiB zu schreiben

Erstaunlich viel Software behandelt einen mit "m" oder "M" endenden Größenwert als binär. Bei einem deutschen Hoster wie Hetzner oder IONOS läuft nginx mit denselben Standardwerten wie überall: client_max_body_size 10m; meint 10.485.760 Byte, nicht zehn Millionen. Die JVM-Flags -Xms512m und -Xmx2g rechnen ebenso binär, und keines von beidem schreibt das i, das den Unterschied anzeigen würde.

GNU dd ist der Lehrbuchfall, weil es beide Konventionen kennt und an der Länge des Suffix unterscheidet: bs=1M sind 1.048.576 Byte, bs=1MB sind 1.000.000. Wer eine Blockgröße aus einem fremden Skript übernimmt, sollte das Suffix wortgetreu übernehmen oder gleich durch die Bytezahl ersetzen.

Mi und M im selben Feld — der Kubernetes-Fall

Kubernetes-Ressourcenangaben akzeptieren beide Skalen ausdrücklich, sodass memory: 512Mi 536.870.912 Byte sind und memory: 512M 512.000.000 — ein Unterschied von rund 4,9 Prozent bei einem einzigen Buchstaben, und beide Schreibweisen bestehen die Schemaprüfung anstandslos. Bei einem Speicherlimit entscheidet genau diese Differenz, ob ein Container unter Last beendet wird oder nicht.

Der Abstand wächst mit jeder Stufe: bei Mega 4,86 Prozent, bei Giga 7,37 — 4Gi und 4G unterscheiden sich um knapp 295 Megabyte. Ein Limit, das aus einer GiB-Ablesung im Monitoring stammt und als G eingetragen wurde, ist von der ersten Auslieferung an knapper bemessen, als beabsichtigt, und das Symptom ist ein gelegentlicher Neustart, der selten auf das Manifest zurückgeführt wird.

Woher die MiB-Zahl kommt, die gerade umgerechnet wird

Der Ausgangswert stammt meist selbst aus etwas, das binär misst. free zeigt Kibibyte, sofern nicht anders angefordert. /proc/meminfo schreibt kB und meint KiB. top und ps zeigen den residenten Speicher in KiB. Container-Laufzeiten melden Grenzwerte und Verbrauch in Byte, und die Oberfläche darüber zeigt daraus abgeleitete MiB.

Das ist praktisch: Diese Ablesung mit 1.048.576 zu multiplizieren, führt exakt zu der Bytezahl zurück, die der Kernel intern führt. Kritisch wird es erst, wenn eine dezimale Megabyte-Angabe aus einem Datenblatt oder einem Angebot in dasselbe Feld gerät — die sollte bewusst umgerechnet und nicht mit einem angehängten M einfach übernommen werden.

Die Konstante so schreiben, dass sie sich prüfen lässt

Im Code schlägt der Ausdruck den Literalwert: 1024 * 1024 oder 1 << 20 sagt, was der Wert ist, und ein Reviewer kann ihn auf einen Blick verifizieren, während 1048576 neben 10485760 in einer Konfigurationstabelle ein Zahlenpaar ist, das kein Review auffängt. Ziffern-Trennzeichen wie 1_048_576 helfen, die Multiplikation sagt trotzdem mehr, weil sie die Basis gleich mitliefert.

Die zweite Hälfte der Disziplin liegt im Namen des Feldes: Ein Feld namens maxBytes kann nicht versehentlich eine MiB-Zahl bekommen, ein Feld namens maxSize schon. Wo ein Wert eine Grenze überquert — ein Formular, eine Umgebungsvariable, eine Schnittstelle — gehört die Einheit in den Namen, weil das der einzige Ort ist, den ein Aufrufer zuverlässig liest.

Runde Mebibyte, unrunde Byte — das Beispiel mit der CD

Eine runde MiB-Zahl ist immer eine unrunde Byte-Zahl, und keine Anordnung der beiden Skalen macht beide gleichzeitig hübsch: 700 MiB sind 734.003.200 Byte, 250 MiB sind 262.144.000, 1,5 MiB sind 1.572.864 — keine dieser Zahlen sieht gewählt aus, und alle sind exakt.

Das klassische Beispiel ist die Audio-CD mit 80 Minuten Spielzeit: 360.000 Sektoren zu 2.048 Byte ergeben 737.280.000 Byte, also 703,125 MiB. Sie wird seit dreißig Jahren als "700-MB-Disc" bezeichnet, obwohl die Zahl weder eine dezimale 700-MB- noch eine binäre 700-MiB-Angabe ist — eine gute Erinnerung daran, dass eine vertraute Kapazitätsangabe oft eine gerundete Bezeichnung ist und keine gemessene.

Die Grenzwerte, mit denen ein Test tatsächlich arbeiten sollte

Ein in Mebibyte formuliertes Limit verdient drei Testdateien statt einer, und ihre Größen ergeben sich direkt aus dieser Umrechnung. Für eine 10-MiB-Grenze sind die interessanten Bytezahlen 10.485.759, 10.485.760 und 10.485.761 — eine darunter, exakt darauf, eine darüber. Ob der Grenzwert selbst noch durchgeht, hängt davon ab, ob die Prüfung strikt vergleicht oder nicht, und genau das beantwortet ein Test an der Grenze, ein Test bei 5 MiB dagegen nicht.

Diese Dateien nach Bytezahl zu erzeugen ist dabei wichtiger als nach der bequemen Einheit, aus demselben Grund wie bei der Konstante selbst: Eine mit einem Größenparameter in einer freundlichen Einheit erzeugte Datei übernimmt stillschweigend die Basis des erzeugenden Werkzeugs, sodass eine eigentlich um ein Byte zu große Testdatei am Ende vier Prozent zu klein ausfällt. Mit expliziter Bytelänge erzeugt und im Test auf diese Länge geprüft, wird die Datei zum Beweis statt zur Annahme.

MiB in B umrechnen: häufige Fragen

Wie viel ist 1 MiB in B?

1 MiB sind 1048576 B. Das Verhältnis von Mebibyte zu Byte ist per Definition festgelegt und nicht gemessen; gerundet wird allein die Anzeige, die nach zwölf signifikanten Stellen aufhört.

Werden meine Eingaben irgendwohin geschickt?

Nein. Die Rechnung läuft in deinem Browser. Du kannst die Verbindung trennen und weiterrechnen — das ist zugleich die einfachste Art, es nachzuprüfen.

Warum zeigt meine Festplatte weniger an, als draufsteht?

Weil zwei verschiedene Einheiten denselben Namen tragen. Hersteller rechnen mit 1 GB = 1.000.000.000 Byte, Windows zeigt Gibibyte an, also 1.073.741.824 Byte, nennt sie aber „GB". Dieselbe Platte wirkt dadurch um etwa sieben Prozent kleiner. Verschwunden ist nichts.

Andersherum: Byte in Mebibyte

Ein B sind 9,53674e-7 MiB. Es ist dasselbe Verhältnis rückwärts gelesen — ein Ergebnis von der einen Seite durch die andere geschickt muss also wieder dort landen, wo es losging.

Woher diese Zahlen stammen

Was diese Seite über Dateneinheiten behauptet, lässt sich nachprüfen — hier stehen die Dokumente, die es festlegen.

Wie diese Seite arbeitet

Der Faktor steht als Konstante in der Seite, und die Rechnung besteht aus vier Schritten. Es wird also nichts verschickt und auf nichts gewartet — was du eintippst, verlässt den Browser nie, weil es gar keine Anfrage gibt, in der es reisen könnte.