Magische Zahl (Informatik)

Eine Magische Zahl (englisch magic number) hat in der Programmierung drei Bedeutungen:

  1. Ursprünglich aus der Unix-Welt kommend, ist sie ein spezieller Wert, der ein bestimmtes Dateiformat am Dateibeginn kennzeichnet (wie ihn zum Beispiel der Unix-Befehl file auswertet).
  2. Ein auffälliger Wert, um ein Register oder einen Speicherbereich zu markieren, der später mittels eines Debuggers auf Fehler untersucht werden soll. Solche markierende Magische Zahlen werden meistens aus folgenden Domänen ausgewählt:
    • ASCII (meistverwendet).
    • Hexadezimale Repräsentation von Zahlen (beispielsweise 305419896 = 0x12345678).
    • Manchmal wird Hexspeak verwendet.
  3. Ein im Quellcode eines Programms auftauchender Zahlenwert (auch englisch hard coded value genannt), dessen Bedeutung sich nicht unmittelbar erkennen lässt – seine Bedeutung ist somit „magisch“. Derartige Magische Zahlen sind zu vermeiden und durch gut benannte Konstantendefinitionen zu ersetzen, deren Namen, Bedeutung und Herkunft klar angegeben ist.

Developed by StudentB