/ Datendarstellung & Speicher
Speicherbedarf Integer
Speicherbedarf für eine Folge ganzzahliger Werte: Speicher = Anzahl · ByteProInt. Typische Größen sind 4 Byte für int32 oder 8 Byte für int64.
01 · Eingabe
Speicherbedarf Integer berechnen
Speicherbedarf für eine Folge ganzzahliger Werte: Speicher = Anzahl · ByteProInt. Typische Größen sind 4 Byte für int32 oder 8 Byte für int64.
Lösen für
- Speicher — Speicherbedarf
- Anzahl — Anzahl Werte
- ByteProInt — Byte pro Integer
Speicher = Anzahl · ByteProInt
Anzahl = Speicher / ByteProInt
ByteProInt = Speicher / Anzahl
Byte
Byte
Worum geht es?
Eine Folge ganzzahliger Werte mit konstanter Bitbreite belegt vorhersagbar viel Speicher: Speicher = Anzahl · ByteProInt. Die typischen Bitbreiten sind:
- int8 / uint8: 1 Byte
- int16 / uint16: 2 Byte
- int32 / uint32: 4 Byte
- int64 / uint64: 8 Byte
Diese Rechnung ignoriert Sprach-Overhead (Header bei Java-int[], Slice-Header bei Go) und gilt rein für die Nutzdaten.
Die Formel
Speicher = Anzahl · ByteProInt
Umstellungen:
Anzahl = Speicher / ByteProInt
ByteProInt = Speicher / AnzahlDie Variablen
| Symbol | Bedeutung | Einheit | Erklärung |
|---|---|---|---|
| Anzahl | Anzahl Werte | — | Anzahl der Integer-Werte. |
| ByteProInt | Byte pro Integer | Byte | Bytes pro Wert (z. B. 4 für int32). |
| Speicher | Speicherbedarf | Byte | Gesamter Nutzdaten-Speicher. |
Minimal-Beispiel
1000 int32-Werte:
Speicher = 1000 · 4
= 4000 Byte
≈ 3,91 KiBPraxis-Beispiele
Beispiel 1 — Sensorpuffer
Ein Ringpuffer für 60.000 int16-Messwerte:
Speicher = 60.000 · 2
= 120.000 Byte
≈ 117,2 KiBBeispiel 2 — Datenbank-Spalte int64
Eine Spalte mit 5.000.000 BIGINT-Werten:
Speicher = 5.000.000 · 8
= 40.000.000 Byte
≈ 38,15 MiBBeispiel 3 — Bitbreite aus Speicher
20.000 Werte belegen 80.000 Byte. Welche Bitbreite?
ByteProInt = 80.000 / 20.000
= 4 Byte
→ int32 / uint32